Rails形成帮手

时间:2013-03-22 01:43:30

标签: html ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1

我在下拉列表中使用rails form helper,如下所示:

<%= 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",

我想使用ruby变量

$tmp = "disabled"

并使用此变量禁用下拉列表。因为有时我想保持启用它,有时它会根据$ tmp变量的值被禁用。

我遇到语法问题。任何人都可以测试它,看看哪种语法正常工作?

1 个答案:

答案 0 :(得分:1)

使用:disabled选项时,需要传递一个布尔值,而不是字符串。如果任何字符串文字的计算结果为true,则disabled: "true"disabled: "false"都将禁用该标记。要禁用该元素,您需要使用disabled: false(不是缺少引号)。也许这是你问题的根源?

要根据另一个变量禁用该元素,您可以放置​​任何可以为您提供布尔值的操作。例如,要仅在$tmp"disabled"时禁用菜单,您可以使用disabled: ($tmp == "disabled")之类的内容。