如果将标题字段留空,我会重定向到ActiveRecord::RecordInvalid at /models
错误页面,而不是显示f.error_notification
。
在我的模型中,model_controller.rb:
def create
@model = Model.create(model_params)
User.add_model(@model)
if @model.save
redirect_to(model_path, notice: 'Model was successfully added.'
else
render action: "new"
end
end
并在user.rb中:
def self.add_model(model)
find_each{ |user| user.models << model }
end
如果删除User.add_model(@model)
,那么一切都按预期工作。可能我应该向if @model.save
添加一些内容,但不确定究竟是什么。
答案 0 :(得分:1)
尝试更改这些行
@model = Model.create(model_params)
至@model = Model.new(model_params)
和
if @model.save
至if @model.save!
并在User.add_model(@model)
if @model.save!