2012-07-06 41 views
0

我用以下f.select查詢:導軌 - f.select和奇怪的語法錯誤

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

而此行還給我一個語法錯誤......爲什麼?所有括號應關閉...

回答

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

禁用選項,根據API,該方法被定義爲

f.select(method, choices, options = {}, html_options = {}) 

其中:disabled是一個選項,:class將是一個html_optio n,所以電話應該寫成:

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

儘管如此,最後一組括號不應該是必需的。