Ruby on rails下拉框

时间:2013-04-07 09:40:18

标签: ruby-on-rails html-select

我刚刚在rails应用程序上写了我的第一个ruby,我有点卡住了。我有一个包含作者,书籍和类别的图书馆数据库。一本书属于作者和类别。现在,在创建一本书时,我想从列表中选择作者和类别。我该怎么做呢我是红宝石的新手,所以任何帮助都会受到赞赏。现在这本书只有名称栏。

这是书籍类或模型:

class Book < ActiveRecord::Base
  belongs_to :author
  belongs_to :category
  attr_accessible :name
  validates :name, :presence => true
end

2 个答案:

答案 0 :(得分:0)

在您的图书表单中,使用以下选择字段作为:

<%= f.select :author_id, Author.all.collect {|p| [ p.name, p.id ] } %>
<%= f.select :category_id, Category.all.collect {|p| [ p.name, p.id ] } %>

有关关联的更多详细信息,请参阅http://guides.rubyonrails.org/association_basics.html

答案 1 :(得分:0)

这可能与您的观点类似:

<% form_for :book do |f|%>
 <% f.text_field :name %>
 <% f.select :author_id, options_for_select( @authors.all.map{|a| a.name, a.id } %>
 <% f.select :category_id, options_for_select( @categories.all.map{|c| c.name, c.id} ) %>
<% end %>

等等

@authors = Author.all
@categories = Category.all
控制器中的