繁体   English   中英

在rails中为params添加变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM