在我的创建操作中,方法 new 的行为类似于创建。
def create
@page = Page.new(params[:page].merge(:user_id => current_user.id ))
if @page.save
flash[:notice] = t("success")
redirect_to pages_path
else
render :new
end
end
当我使用带有参数的新对象时,ActiveRecord 在数据库中创建新对象。Page.new 在我的控制器中的新操作中运行良好。可能是什么原因?在我的模型中没有重写方法 new 和回调(before_save、before_create 等)。任何帮助,将不胜感激。
更新 - 来自调试器的代码
.../app/controllers/pages_controller.rb:48
@page = Page.new(params[:page].merge(:user_id => current_user.id ))
(rdb:25) @page
nil
(rdb:25) n
.../app/controllers/pages_controller.rb:49
if @page.save
(rdb:25) @page
#<Page id: 80 ... >
(rdb:25) Page.last
#<Page id: 80 ... >
(rdb:25) @page.save
false