我使用以下f.select
查询:
= f.select(:category_id, @categories, :html_options => {:class => 'select_box'}, {:disabled => lambda{ |category| category.id == 18 }})
这一行给我一个语法错误......为什么?所有牙套都应关闭......
答案 0 :(得分:2)
= f.select(:category_id, @categories, :html_options => {:class => 'select_box'}, {:disabled => lambda{ |category| category.id == 18 }})
应该是
= f.select(:category_id, @categories, :html_options => {:class => 'select_box', :disabled => lambda{ |category| category.id == 18 }})
您在自己的哈希
中有禁用选项答案 1 :(得分:1)
根据api,该方法定义为
f.select(method, choices, options = {}, html_options = {})
其中:disabled
是一个选项而:class
是一个html_option,因此调用应该写成
f.select(:category_id, @categories, {:disabled => lambda{ |category| category.id == 18 }}, { :class => 'select_box' }).
不过,最后一组括号不应该是必要的。