`
rainlife
  • 浏览: 229994 次
  • 性别: Icon_minigender_1
  • 来自: 我也来自火星?
社区版块
存档分类
最新评论

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 %>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics