我已经"要求","转移"和父母" (这将是保姆的事情。)
现在模型看起来像这样:
class Demand < ActiveRecord::Base
belongs_to :parent
belongs_to :shift
end
&安培;
class Parent < ActiveRecord::Base
has_many :demands, :dependent => :destroy
has_many :shifts, :through => :demands
accepts_nested_attributes_for :demands, allow_destroy: true
# Returns fullname of parent
def fullname
"#{firstname} #{name}"
end
end
&安培;
class Shift < ActiveRecord::Base
has_many :supps, :dependent => :destroy
has_many :nanns, :through => :supps
has_many :demands, :dependent => :destroy
has_many :parents, :through => :demands
end
如果我现在想要显示班次的描述(班次表的参数)而不是其_id,我会收到以下错误:
undefined method `description' for nil:NilClass
以下是相应需求索引视图中的一些代码:
<td><%= demand.parent.name %></td>
<td><%= demand.demand %></td>
<td><%= demand.shift.description %></td> <----THIS LINE PRODUCES THE ERROR
<td><%= link_to 'Show', demand %></td>
<td><%= link_to 'Edit', edit_demand_path(demand) %></td>
<td><%= link_to 'Destroy', demand, method: :delete, data: { confirm: 'Are you sure?' } %></td>
我认为我给了模型正确的has_many和belongs_to协会,所以我不会在这里找到错误。在此先感谢您的帮助!
答案 0 :(得分:2)
您的OrderedDict([('Category', 'Random'), ('Date Added', '03-03-2017'), ('Location', ''), ('Name', 'Brian'), ('Activity', 'Eats'), ('Meal', 'Dinner')])
OrderedDict([('Category', 'Random'), ('Date Added', '03-03-2017'), ('Location', ''), ('Name', 'Joe'), ('Activity', 'Runs'), ('Meal', 'Breakfast')])
OrderedDict([('Category', 'Random'), ('Date Added', '03-03-2017'), ('Location', ''), ('Name', 'Brian'), ('Activity', 'Eats'), ('Meal', 'Dinner')])
OrderedDict([('Category', 'Random'), ('Date Added', '03-03-2017'), ('Location', ''), ('Name', 'Brian'), ('Activity', 'Eats'), ('Meal', 'Dinner')])
没有关联demand
。如果您想确定表格中的哪一个,请替换...
shift
与
<td><%= demand.shift.description %></td>
缺少轮班的线路现在会告诉您缺少班次。