User为和Address类是一个一对多的关系:
User.rb
Address.rb:
在创建Address的时候,指定某一个User,下面是两种Form的实现:
1.
2.这个是直接使用Scaffold生成的Form,然后添加select:
User.rb
class User < ActiveRecord::Base
validates_presence_of :name, :password
has_many :addresses
end
Address.rb:
class Address < ActiveRecord::Base
belongs_to :user
end
在创建Address的时候,指定某一个User,下面是两种Form的实现:
1.
<%= form_tag :action => "create" %>
<p>
<%= text_field "address", "street" %>
</p>
<p>
<%= text_field "address", "country" %>
</p>
<p>
<%= select_tag "address[user_id]", options_for_select(User.find(:all).collect {|u| [ u.name, u.id ] } )%>
</p>
<%= submit_tag 'SAVE' %>
</form>
2.这个是直接使用Scaffold生成的Form,然后添加select:
<% form_for(@address) do |f| %>
<p>
<b>Street</b><br />
<%= f.text_field :street %>
</p>
<p>
<b>Country</b><br />
<%= f.text_field :country %>
</p>
<p>
<%= f.select( "user_id", User.find(:all).collect {|u| [ u.name, u.id ] }) %>
</p>
<p>
<%= f.submit "Create" %>
</p>
<% end %>