2013-03-22 3 views
0

Я использую форму рельсы помощника для выпадающего списка выглядит следующим образом:Рельсы образуют хелперы

<%= select_tag :analysis, options_for_select(%w[PENDING PASS FAIL], row3[7]), :disabled=> "true", 
:id => 'build_status#{index}', :style=> 'width:100px', :onchange => 'this.form.submit()'%> 

Теперь вместо того, чтобы

:disabled=> "true", 

Я хочу использовать рубин переменную таким образом, что

$tmp = "disabled" 

И используйте эту переменную, чтобы выпадающий список был отключен. Потому что иногда я хочу сохранить его включенным, и иногда он будет отключен на основе значения переменной $ tmp.

У меня возникли проблемы с синтаксисом. Может ли кто-нибудь проверить это и посмотреть, какой синтаксис работает правильно?

ответ

1

При использовании опции :disabled вам необходимо передать это значение в виде булина, а не строку. Если любой строковый литерал имеет значение true, оба значения disabled: "true" и disabled: "false" отключат тег. Чтобы не отключить элемент, вам нужно будет использовать disabled: false (а не отсутствие кавычек). Возможно, это был источник ваших проблем?

Чтобы отключить элемент на основе другой переменной, вы можете просто поместить любую операцию, которая даст вам логическое значение. Например, чтобы отключить только меню, если $tmp - "disabled", вы можете использовать что-то вроде disabled: ($tmp == "disabled").

Смежные вопросы