2013-02-23 31 views
0

我有一个城市有很多人。Rails:表格字段

我想添加在我的城市形式的选择场添加人:

<%= form_for(@city) do |f| %> 
<p> 
    <%= f.label city.people.id, "Person" %><br /> 
    <%= f.select city.people.id, 
     Person.find(:all).collect{|d| [d.person_name,d.id]}, 
     :prompt => "Please choose" %> 
</p> 
<% end %> 

Rails的说:undefinied varialbe城市。 我在城市实施了:许多和亲自belongs_to。

我的代码片段有什么问题?

回答

1

您必须使用实例变量@city,不要忘记@符号。

另外,@city.people是Person类型的集合,所以@city.people.id不起作用。

+0

我不明白你到底是什么意思?我应该尝试@ city.person_id吗? – ubuseral 2013-02-23 23:58:11

+0

问题是,一个城市has_many人,对不对?所以当你做@ city.people时,你不会得到一个结果,你会得到很多。这表示为Person类型的实例的数组。 – Kaeros 2013-02-24 00:05:59