[英]Get object of relation n:m in Ruby on Rails
我有两个模型:
它们之间的关系是:多对多,有一个表映射关系:modulos_perfiles
我需要获取属于“ perfil”的所有“模数”。
<% @perfiles.each do |perfil| %>
<% @m = perfil.modulo.last %>
<%= @m.ruta %><br/>
<% end %>
但是我得到这个错误:
nil:NilClass的未定义方法“ ruta”
其中“ ruta”是“模”表的列。
我做的:
<% @perfiles.each do |perfil| %>
<% @m = perfil.modulo.last %>
<%= debug @m %><br/>
<% end %>
我可以看到@m对象的所有属性,如下所示:
红宝石/物件:模数
属性:
但是我不明白为什么不能通过以下方式获得此属性:
<%= @m.ruta %>
有任何想法吗,谢谢!
更新
我的模型类是:
class Perfil < ActiveRecord::Base
has_many :usuario
has_and_belongs_to_many :modulo
end
class Modulo < ActiveRecord::Base
has_and_belongs_to_many :perfiles
end
class ModulosPerfiles < ActiveRecord::Base
end
**
**
我没有足够的声誉来发布答案。
我已解决:
我做的:
<% @perfiles.each do |perfil| %>
<% perfil.modulo.each do |modulo| %>
<%= modulo.ruta %><br/>
<% end %>
<% end %>
这样我就可以获得对象“ modulo”的任何属性。
谢谢。
<% @perfiles.each do |perfil| %>
<% perfil.modulo.each do |modulo| %>
<%= modulo.ruta %><br/>
<% end %>
<% end %>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.