2013-04-07 142 views
0

我剛剛在rails應用程序中寫了我的第一個ruby,我有點卡住了。我有一個包含作者,書籍和類別的圖書館數據庫。一本書屬於作者和類別。所以現在在創建一本書時,我想從列表中選擇一個作者和類別。我如何去做這件事。我是新的紅寶石,所以任何幫助將不勝感激。目前這本書只有名字欄。Ruby on rails下拉框

這裏是書籍類或型號:

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

回答

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 ] } %> 

對於協會的更多細節ALSE看到http://guides.rubyonrails.org/association_basics.html

+0

謝謝你給我的方向。我如何在控制器中創建新記錄,因爲我目前有以下幾行代碼,但author_id和category_id不是正確的。 book = Book.new(params [:book]) respond_to do | format | if book.save – CodeNoob 2013-04-07 11:11:26

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 

在控制器