为什么我的rails应用程序显示嵌套表的id但是嵌套列?

时间:2012-12-14 01:44:30

标签: ruby-on-rails ruby-on-rails-3 associations

此视图显示该视图

<%= community.country_id %>

<%= community.country.name %>

但是这会给出错误

  

'Mysql2 ::错误:未知列'countries.community_id'在'哪里   子句':SELECT countries。* FROM countries WHERE   countriescommunity_id = 5 LIMIT 1'

我的模特

community.rb

has_one :country

country.rb

belongs_to :community

1 个答案:

答案 0 :(得分:2)

Country模型中,如果您有类似

的关系
has_one :country

默认情况下,Rails会在数据库的countries表中查找名为community_id的列。

您收到的错误是说您从未将此类列迁移到数据库中。从shell运行以下命令以添加该列。

rails generate migration AddCommunityIdToCountries community_id:integer
rake db:migrate

推荐阅读 http://guides.rubyonrails.org/migrations.html