0

视图显示此代码没问题

<%= community.country_id %>

<%= community.country.name %>

但这会返回错误

'Mysql2::Error:'where 子句'中的未知列'countries.community_id':SELECT countries.* FROM countries WHERE countriescommunity_id= 5 限制 1'

我的模型是

社区.rb

has_one :country

国家.rb

belongs_to :community
4

1 回答 1

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

于 2012-12-14T02:21:14.250 回答