Rails表單

User爲和Address類是一個一對多的關係:
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 %>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章