0

我刚刚写了我的第一个 ruby​​ on rails 应用程序,我有点卡住了。我有一个包含作者、书籍和类别的图书馆数据库。一本书属于作者和类别。所以现在在创建一本书时,我想从列表中选择作者和类别。我该怎么做。我是红宝石的新手,所以任何帮助将不胜感激。目前这本书只有名称列。

这是书籍类或模型:

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

2 回答 2

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

于 2013-04-07T09:48:36.967 回答
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

在你的控制器中

于 2013-04-07T09:50:05.520 回答