繁体   English   中英

has_many通过导轨

[英]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.highcity.state.high

编辑

对不起,我看错了! 正如Shadwell所说,在上述情况下您还会遇到另一个错误。

在状态模型中,您缺少此功能:

has_many :cities

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM