我正在使用Rails 5.0.0。我有这个模型
class Scenario < ApplicationRecord
belongs_to :grading_rubric
has_many :confidential_memo
end
但是当我为模型调用我的create方法时,它失败了
def create
@scenario = Scenario.new(scenario_params)
respond_to do |format|
if @scenario.save
puts "saved successfully."
format.html { redirect_to confidential_memo_path(@scenario), notice: 'Saved successfully.' }
else
puts "full messages: #{@scenario.errors.full_messages}"
format.html { render action: "show" }
end
end
end
我得到的错误是
full messages: ["Grading rubric must exist"]
我如何指出belongs_to参数应该是可选的(也就是说,允许为null)?
答案 0 :(得分:3)
过去,您可以将值保留为nil
,而Rails非常高兴。然而,这在Rails 5中已经改变了。
如果您希望belongs_to
是可选的,则只需传递optional: true
:
belongs_to :grading_rubric, optional: true
您可以找到有关它的更多信息here