2013-05-08 50 views
0

我對RoR相當陌生,並且無法包裝我的頭部以瞭解如何執行此操作。在軌道上填充ruby中的下拉列表並保存結果

基本上我想設計一個下拉菜單,它將動態地填充數據庫中的報紙下拉菜單。選擇紙張後,我希望用戶能夠選擇問題類別(例如:結算),然後選擇特定的issue_type(例如:信用卡費用),然後選擇聯繫人類型(電子郵件或電話)(總共4次)起伏)。

問題類別,issue_type和contact_type都屬於Issuelog。根據我的型號代碼,每個Issuelog都應該屬於特定的報紙。我希望用戶能夠針對每種紙張的每種類型的問題記錄每種聯繫人的數量,並提供一組非常標準的選擇。提交後報表不會改變,它只會創建一個Issuelog,它將關聯到特定的文件(默認創建的ID - 不確定是否需要在此場景中創建任何其他鍵)。

Issuelog

class Issuelog < ActiveRecord::Base 
    belongs_to :newspaper 
    attr_accessible :category, :contact_type, :issue_type 
end 

報紙

class Newspaper < ActiveRecord::Base 
    has_many :issuelogs 
    attr_accessible :affiliate_group, :name 
end 

我無法理解我怎麼會需要結構的全面實現我想要的。我是否需要在我的視圖中使用JavaScript,並且我的模型設計對於我想實現的目標有意義嗎?

+0

我想你會發現這個職位非常有幫助。 http://pullmonkey.com/2012/08/11/dynamic-select-boxes-ruby-on-rails-3/ – jameswilliamiii 2013-05-08 05:18:44

回答

1

在控制器的動作

@newspapers = Newspaper.find(:all) 

在模型中,有很多,你可以使用,你可以使用這樣的事情。

<%= select("newspaper", "ids", @newspapers.collect {|p| [ p.name, p.id ] }, { :prompt => 'Select' }, :onChange => 'do_your_thing()') %> 

我希望這可以幫助,但告訴你,如果需要任何澄清