[英]Adding variable to params in rails
如何将user_id添加到params [:page]我不想使用隐藏字段。
@page= Page.new(params[:page])
有没有办法使用像
@page= Page.new(:name=>params[:page][:name], :user_id => current_user.id)
我每天都在使用这一天:
@page= Page.new(params[:page].merge(:user_id => 1, :foo => "bar"))
而不是这样做,建立关联(假设你有User
模型中的has_many :pages
):
@page = current_user.pages.build(params[:page])
这将自动为Page
对象设置user_id
。
您可以构建正确的模型关联,然后调整new()
方法的范围,而不是尝试合并current_user
id
楷模
class Page < ActiveRecord::Base
belongs_to :user
end
class User < ActiveRecord::Base
has_many :pages
end
调节器
if current_user
@page = current_user.pages.new(params[:page])
else
@page = Page.new(params[:page])
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.