2015-10-09 13 views
0

我已經使用/ stackoverflowed了幾個小時,但沒有找到任何與我的要求相匹配的東西。我在rails中是新手,我正在使用rails 4.2.4開發一個bug跟蹤系統。在這裏我有一個名爲Bug的類。在創建錯誤時,我有兩個下拉菜單,它們將使用模型中的數組值填充。我的模型是這樣的:Rails模型中的數組中的兩個從屬下拉菜單項

class Bug < ActiveRecord::Base 
    belongs_to :creator, :class_name => "User", :foreign_key => "creator_id" 
    belongs_to :developer, :class_name => "User", :foreign_key => "developer_id" 

    TYPE = ['Feature', 'Bug'] 
    FEATURE_STATUS = ['New', 'Started', 'Completed'] 
    BUG_STATUS = ['New', 'Started', 'Resolved'] 

    validates :title, :presence => true, :uniqueness => true 
    validates :status, :type, :presence => true 

    has_attached_file :screen_shot 
    validates_attachment_content_type :image, :content_type => ["image/jpg", "image/jpeg", "image/png", "image/gif"] 

end 

有一個從_form.html.erb文件中的一些代碼,這將顯示下拉選項:

... 
... 
... 
<div class="form-group"> 
    <%#= f.label :bug_type, class: "col-sm-2 control-label" %> 
    <%= f.label :bug_type, t('.bug_type') + ":" %> 
    <%= f.select :bug_type, 
    Bug::TYPE, 
    :prompt => "Select bug type:" 
    %> 
</div> 
<div class="form-group"> 
    <%#= f.label :status, class: "col-sm-2 control-label" %> 
    <%= f.label :status, t('.status') + ":" %> 
    <%= f.select :status, 
    Bug::FEATURE_STATUS, 
    :prompt => "Select status:" 
    %> 
</div> 

... 
... 
... 

在當前的時間,我的代碼顯示的是數組的值第一個下拉菜單中的Bug :: TYPE,第二個下拉菜單中的Bug :: FEATURE_STATUS的值。我的問題是如何填充第二個下拉數組值取決於第一個下拉的值?也就是說,如果用戶從第一個下拉列表中選擇一個值「Feature」,則第二個下拉列表應該顯示FEATURE_STATUS數組的值。如果用戶從第一個下拉列表中選擇一個值「Bug」,則第二個下拉列表應該顯示數組FEATURE_BUG的值。

我是新來的堆棧流,這是我在這裏問的第二個問題。任何幫助將不勝感激。提前致謝。

回答

相關問題