在rails中为params添加变量

Rai*_*101 37 ruby-on-rails

如何将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)

efa*_*cao 70

我每天都在使用这一天:

@page= Page.new(params[:page].merge(:user_id => 1, :foo => "bar"))
Run Code Online (Sandbox Code Playgroud)


Rya*_*igg 17

而不是那样做,建立关联(假设你has_many :pagesUser模型中):

@page = current_user.pages.build(params[:page])
Run Code Online (Sandbox Code Playgroud)

这将自动user_idPage对象设置.

  • @ Rails101:current_user.pages.build(params [:page] .merge(:other_id => other_id) (3认同)