【发布时间】:2013-06-14 18:31:29
【问题描述】:
我有两个模型:位置和用户。位置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: question about validates_presence_of validates_presence_of 应该适用于模型名称,并且在我的模型中我有:
用户.rb:
class User < ActiveRecord::Base
belongs_to :location
validates_presence_of :location
...
Location.rb:
class Location < ActiveRecord::Base
has_many :users
...
我做错了什么导致validates_presence_of 在我使用validates_presence_of :location 时看不到位置,但由于某种原因在我使用location_id 时有效?
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3 validation activemodel