Добавление переменной к параметрам в рельсах Как я могу добавить user_id в params [: page], я не хочу использовать скрытые поля. @page= Page.new(params[:page]) Есть ли способ использовать как @page= Page.new(:name=>params[:page][:name], :user_id => current_user.id) Ответ 1 Я использую этот день изо дня в день: @page= Page.new(params[:page].merge(:user_id => 1, :foo => "bar")) Ответ 2 Вместо этого создайте ассоциацию (предположим, что у вас есть has_many :pages в модели User): @page = current_user.pages.build(params[:page]) Это автоматически установит user_id для объекта Page. Ответ 3 Вместо того, чтобы пытаться объединить идентификатор current_user, вы можете создать соответствующие ассоциации моделей, а затем применить метод new() Модели 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
Ответ 1 Я использую этот день изо дня в день: @page= Page.new(params[:page].merge(:user_id => 1, :foo => "bar"))
Ответ 2 Вместо этого создайте ассоциацию (предположим, что у вас есть has_many :pages в модели User): @page = current_user.pages.build(params[:page]) Это автоматически установит user_id для объекта Page.
Ответ 3 Вместо того, чтобы пытаться объединить идентификатор current_user, вы можете создать соответствующие ассоциации моделей, а затем применить метод new() Модели 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