开发者

Adding variable to params in rails

开发者 https://www.devze.com 2023-01-28 15:18 出处:网络
How can i add user_id into 开发者_运维知识库params[:page] i don\'t want to use hidden fields.

How can i add user_id into 开发者_运维知识库params[:page] i don't want to use hidden fields.

@page= Page.new(params[:page])

Is there a way to use like

@page= Page.new(:name=>params[:page][:name], :user_id => current_user.id)


I use this day in and day out:

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


Instead of doing it that way, build the association (assumes you have has_many :pages in the User model):

@page = current_user.pages.build(params[:page])

This will automatically set user_id for the Page object.


Instead of trying to merge the current_user id, you can build the proper model associations and then scope the new() method

Models

class Page < ActiveRecord::Base
 belongs_to :user
end

class User < ActiveRecord::Base
 has_many :pages
end

Controller

if current_user
 @page = current_user.pages.new(params[:page])
else
 @page = Page.new(params[:page])
end
0

精彩评论

暂无评论...
验证码 换一张
取 消