[英]has_many through rails
国家模型
set_table_name "countries"
has_many :states, :primary_key => 'col1', :foreign_key => 'col1'
has_many :cities, :through => :states, :primary_key => 'col1', :foreign_key => 'col1'
状态模型
set_table_name "strain_appendices"
belongs_to :country
has_many :states, :primary_key => 'col2', :foreign_key => 'col2'
城市模型
set_table_name "ssu_accessions"
belongs_to :country
belongs_to :state
视图
<% @countries.each do |country| %>
<%= country.high %>
<% country.states.each do |state| %>
<%= state.high %>
<% country.cities.each do |city| %>
<%= city.high %>
<%= country.high %>
和<%= state.high %>
提供了不错的输出。 但是, <%= city.high %>
错误显示为“未初始化的常量Country :: City”。 问题可能出在哪里? 有人帮我吗
除非您在City模型中定义了一个名为high
的方法或没有high
属性,否则您将收到此错误。
也许您正在寻找city.country.high
或city.state.high
。
编辑
对不起,我看错了! 正如Shadwell所说,在上述情况下您还会遇到另一个错误。
在状态模型中,您缺少此功能:
has_many :cities
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.