小编Vap*_*ire的帖子

具有Ruby On Rails的多个用户模型,并设计为具有单独的注册路由,但具有一个通用登录路由

首先,我与谷歌和雅虎进行了密切的搜索,我发现了一些关于像我这样的主题的回复,但它们并没有真正涵盖我需要知道的内容.

我的应用程序中有几个用户模型,现在它是客户,设计师,零售商,似乎还有更多未来.它们都有不同的数据存储在他们的表格中,以及他们允许或不允许的网站上的几个区域.所以我想去设计+ CanCan的方式,并尝试我的运气与多态关联,所以我得到以下模型设置:

class User < AR
  belongs_to :loginable, :polymorphic => true
end

class Customer < AR
  has_one :user, :as => :loginable
end

class Designer < AR
  has_one :user, :as => :loginable
end

class Retailer < AR
  has_one :user, :as => :loginable
end
Run Code Online (Sandbox Code Playgroud)

对于注册,我已经为每个不同的用户类型定制了视图,我的路由设置如下:

devise_for :customers, :class_name => 'User'
devise_for :designers, :class_name => 'User'
devise_for :retailers, :class_name => 'User'
Run Code Online (Sandbox Code Playgroud)

现在注册控制器是标准的(这是"设计/注册"),但我想,因为我有不同的数据存储在不同的模型中,我也必须自定义这种行为!?

但与此设置我喜欢助手customer_signed_in?designer_signed_in?,但我真正需要的是一个一般的助手一样user_signed_in?的可以访问的所有用户在网站上的区域,无论哪个用户类型.

我也喜欢路线助手new_user_session_path而不是几个new_*type*_session_path等等.事实上,我需要做的就是注册过程......

所以我想知道如果这是解决这个问题的方法??? 或者是否有更好/更容易/更少必须定制的解决方案?


罗伯特,提前谢谢

ruby-on-rails multiple-models devise

34
推荐指数
2
解决办法
1万
查看次数

FFMPEG:从可变长度的视频中提取20个图像

我已经非常密集地浏览了互联网,但我找不到我需要的东西,只是它的变化并不是我想要使用的东西.

我有几个不同长度的视频,我想从开始到结束从每个视频中提取20个图像,以显示视频最广泛的印象.

所以一个视频是16m 47s长=> 1007s =>我必须每隔50秒制作一个视频快照.

所以我想使用ffmpeg的-r开关,其值为0.019860973(eq 20/1007),但ffmpeg告诉我帧速率太小了......

我想出来的唯一方法就是编写一个脚本,用一个被操纵的-ss开关调用ffmpeg并使用-vframes 1,但这对我来说非常慢而且有点偏离,因为ffmpegs会对图像本身进行计算...

有什么建议或指示吗?

谢谢,Vapire

ffmpeg thumbnails video-processing

14
推荐指数
4
解决办法
3万
查看次数

Rails 3:如何获得没有ID的自定义restful成员路由

我正在开发一个项目,用户可以通过简单的表格上传视频,另外通过FTP上传到某个目录,然后只需从FTP目录中选择文件,而不是通过表单上传.

我得到了以下,非常标准的设置videos_controller:

# routes.rb
resources :videos

# new.html.rb
form_for(@video) do |f|
  ...
end
Run Code Online (Sandbox Code Playgroud)

控制器中的其余操作都是有效的,只是标准的行为.上传工作,这不是问题.问题是如果我执行以下操作:

# routes.rb
resources :videos do
  member do
    post :from_ftp
  end
end

# new.html.rb
form_for(@video, :url => from_ftp_video_url) do |f|
  ...
end
Run Code Online (Sandbox Code Playgroud)

我收到错误:No route matches {:action=>"from_ftp", :controller=>"videos"},因为生成的路由如下所示:

from_ftp_video POST   /videos/:id/from_ftp(.:format)        videos#from_ftp
Run Code Online (Sandbox Code Playgroud)

这似乎是正确的,因为它是一个成员路线.但我不需要:idURL 的一部分,因为我正在创建一个新的Video对象,而不是通过表单而只是通过使用FTP目录中的文件...所以它基本上是另一个create动作,这就是为什么我会喜欢把它作为POST请求...

那么我该如何解决这个问题呢?

routes ruby-on-rails-3

5
推荐指数
2
解决办法
5604
查看次数

webpack、less-loader 和 vuejs 无法识别的输入

我正在尝试将自定义 SemanticUI 构建集成到 webpack vue.js 模板中。我没有遇到 jquery 和 SemanticUI 模块集成的问题,但是我没有让 less 文件工作。

我创建与应用程序vue-cliwebpack模板,我安装less-loaderstyle-loader通过npm相应。

在添加 SemanticUI less 文件之前,我想看看我的构建管道是否正常工作,所以我创建了以下文件夹结构和测试文件:

构建/webpack.base.conf.js

resolve: {
  // ...
  alias: {
    // ...
    'semantic-ui': path.resolve(__dirname, '../semantic-ui')
  }
  // ...
}
// ...
module: {
  // ...
  loaders: {
    test: /\.less$/,
    loader: "style-loader!css-loader!less-loader"
  }
  // ...
}
Run Code Online (Sandbox Code Playgroud)

语义ui/semantic.less

& { @import 'test.less'; }
Run Code Online (Sandbox Code Playgroud)

语义用户界面/test.less

@variable: 2px;
Run Code Online (Sandbox Code Playgroud)

源代码/main.js

// ...
require('semantic-ui/semantic.less')
// ...
Run Code Online (Sandbox Code Playgroud)

但是当我运行时,我总是以以下错误告终 npm run dev

ERROR in …
Run Code Online (Sandbox Code Playgroud)

javascript less node.js webpack webpack-style-loader

5
推荐指数
1
解决办法
3744
查看次数

用于深层继承的C++模板单例基类

所以我有一个简单的单例模板基类(为了问题目的缩小):

template <typename T>
class Singleton {
public:
    static T& instance() {
        static T me;
        return me;
    }
};
Run Code Online (Sandbox Code Playgroud)

现在我想要一个"基类是单身":

class Base : public Singleton<Base> {
public:
    void print() { std::cout << &instance() << std::endl; }
}
Run Code Online (Sandbox Code Playgroud)

我现在想要的是从这个基类派生子类,它们是他们自己的单例:

class A : public Base {
    // ...
}

class B : public Base {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

当然,如果我这样做

A::instance().print();
B::instance().print();
Run Code Online (Sandbox Code Playgroud)

在这两种情况下我都得到相同的地址.有没有办法实现这个目标?

如果你想知道为什么:我想编写一个ResourceManager由类继承的基类ImageManager,一个类'AudioManager'等.我希望他们不要实际共享相同的实例,但仍然只有每个经理一个实例......

c++ singleton templates

0
推荐指数
1
解决办法
2437
查看次数