显示"名称"注意" _id"在索引视图中

时间:2017-03-12 23:14:27

标签: ruby-on-rails ruby

我已经"要求","转移"和父母" (这将是保姆的事情。)

现在模型看起来像这样:

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协会,所以我不会在这里找到错误。在此先感谢您的帮助!

1 个答案:

答案 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>

缺少轮班的线路现在会告诉您缺少班次。

相关问题