相关疑难解决方法(0)

Rails 3设计,在模型中无法访问current_user?

在我的project.rb模型中,我正在尝试使用动态变量创建一个范围:

scope :instanceprojects, lambda { 
    where("projects.instance_id = ?", current_user.instance_id)
} 
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

undefined local variable or method `current_user' for #<Class:0x102fe3af0>
Run Code Online (Sandbox Code Playgroud)

在控制器中我可以访问的位置current_user.instance_id......模型是否有理由无法访问它以及获取访问权限的方法?此外,这是创建上述范围的正确位置,还是属于控制器?

activerecord ruby-on-rails ruby-on-rails-3

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

在rails中为params添加变量

如何将user_id添加到params [:page]我不想使用隐藏字段.

@page= Page.new(params[:page])
Run Code Online (Sandbox Code Playgroud)

有没有办法使用像

@page= Page.new(:name=>params[:page][:name], :user_id => current_user.id)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

37
推荐指数
2
解决办法
3万
查看次数