3

私は選択しました:

= f.select(:category_id, @categories, :html_options => {:class => 'select_box'}, {:disabled => true if category.id == 18})

上記のコードは明らかにエラーを返しますが、どうすればオプションを無効にできますidか?

4

4 に答える 4

4

これをテストしていませんが、コントローラーではできませんでした

@checkvar = @category.id == 18 ? true : false

その後、ビューで

f.select(:category_id, @categories, :html_options => {:class => 'select_box'}, {:disabled => @checkvar})

またはモデルでテストする関数を書く

def disable_select 
    if self.id == 18
        true
    else 
       false
    end
end

その後、ビューで

f.select(:category_id, @categories, :html_options => {:class => 'select_box'}, {:disabled => @category.disable_select})
于 2012-07-06T14:55:38.847 に答える
1
<%= f.select :status, STATUSES.map{|s| [s.titleize, s]}, { disabled: DISABLED_STATUSES.map{|s| [s.titleize, s]} %>
于 2013-07-03T08:01:30.203 に答える