我有两个模型:位置和用户。位置has_many :users
和用户belongs_to :location
。现在我有一个使用类似于以下内容的表单:
<%= form_for @user do |f| %>
...
<%= f.select(:location,:location_id,Location.all.collect{|location| location.name}) %>
...
<%end%>
检查时,它似乎为它生成了正确的表单字段:
<select id="user_location_id" name="user[location_id]">
<option value="Clearfield">Clearfield</option>
<option value="San Diego">San Diego</option>
</select>
根据Ruby on Rails:关于 validates_presence_of validates_presence_of 的问题应该适用于模型名称,在我的模型中我有:
用户.rb:
class User < ActiveRecord::Base
belongs_to :location
validates_presence_of :location
...
位置.rb:
class Location < ActiveRecord::Base
has_many :users
...
我做错了什么,以至于validates_presence_of
在我使用时看不到位置validates_presence_of :location
,但由于某种原因在我使用时有效location_id
?