rails3 view has_many:through属性

时间:2013-08-12 17:44:45

标签: ruby-on-rails-3 has-many-through pluralize

通过has_many链接的三个模型:通过

class Bozza < ActiveRecord::Base
  has_many :accessoryvolumes, :dependent => :destroy
  has_many :accessories, through: :accessoryvolumes
  belongs_to :lavorazione

class Accessory < ActiveRecord::Base
  has_many :accessoryvolumes
  has_many :bozzas, through: :accessoryvolumes

class Accessoryvolume < ActiveRecord::Base
  belongs_to :accessory
  belongs_to :bozza

在bozza的视图中,可以访问bozza的属性

<% @bozza.accessoryvolumes.each do |accessoryvolume| %>
  <%= accessoryvolume.numero %> 
  <%= accessoryvolume.bozza_id %> 
  <%= accessoryvolume.bozza.lavorazione.name %>
  <%= accessoryvolume.accessory_id %> 
  <%= accessoryvolume.accessory.name %>

保存最后一项。与附件的关系的任何属性都会生成和

  

nil的未定义方法`name':NilClass

虽然accessory_id有一个值,但是 evan。如何在一个实例中拾取相关属性而不是另一个?

1 个答案:

答案 0 :(得分:0)

问题在于&#34;附件&#34;的复数处理。 这是一个令人讨厌的怀疑很多个小时......

这个问题经常出现。 Pony up并想出一个名字,不能被铁轨或某人错误地解释,不知何故,在某个地方。避免不规则地复数的名词。莫尔索在处理外语时。

现在

class Accessorio < ActiveRecord::Base
  has_and_belongs_to_many :lavoraziones
  has_many :accessoryvolumes
  has_many :bozzas, through: :accessoryvolumes

<%= accessoryvolume.accessorio.nome %>

按预期运行