如何使我的 belongs_to 字段成为可选字段?
How do I make my belongs_to field optional?
我正在使用 Rails 5.0.0。我有这个型号
class Scenario < ApplicationRecord
belongs_to :grading_rubric
has_many :confidential_memo
end
但是当我为模型调用我的创建方法时,它失败了
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 参数应该是可选的(即允许为空)?
过去,您可以将值保留为 nil
,Rails 非常满意。然而,这在 Rails 5 中发生了变化。
如果您希望 belongs_to
是可选的,您只需传递 optional: true
:
belongs_to :grading_rubric, optional: true
您可以找到更多相关信息here
我正在使用 Rails 5.0.0。我有这个型号
class Scenario < ApplicationRecord
belongs_to :grading_rubric
has_many :confidential_memo
end
但是当我为模型调用我的创建方法时,它失败了
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 参数应该是可选的(即允许为空)?
过去,您可以将值保留为 nil
,Rails 非常满意。然而,这在 Rails 5 中发生了变化。
如果您希望 belongs_to
是可选的,您只需传递 optional: true
:
belongs_to :grading_rubric, optional: true
您可以找到更多相关信息here