2009-12-09 66 views
2

我在Rails中使用button_to和表单助手。我需要根据代码中的条件设置html属性。更确切地说,我只有在某个条件为真的情况下才需要禁用button_to组件。在Rails的Form Helpers中使用条件

我该如何做到这一点?下面的代码片段。

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => true%> 

在上面的声明中我可能需要:disabled => true或者我可能不需要它。 除了复制代码行之外,还有一种干净的方式吗?

干杯 -Priyank

回答

7

可以代替“真”与条件得到你所需要的功能(真的返回一个布尔值的表达式)残疾人。就像这样:

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => obj.disabled? %> 

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", :disabled => x == y %> 

2

什么是真或假的条件?

如果在控制器中触发它,您可以设置disabledbutton值,或者写一个帮助器,将条件作为变量,并打印出结果。

<%= button_to "Submit", "#", :id=> "submit", :class => "button_white_big", @disabled %>

is_disabled? ? @disabled = {:disabled => 'disabled'} : @disabled = false 
+0

我试图禁用=>真假,但不起作用。什么铁轨生成总是:禁用=>禁用 所以我不知道如果真和假是一个选项作为禁用的值。 – Priyank 2009-12-09 13:55:02

+1

:disabled选项取值为true或false,但HTML会根据convert_boolean_attributes的来源生成“disabled =”disabled“”或不生成任何内容! http://apidock.com/rails/ActionView/Helpers/UrlHelper/convert_boolean_attributes! – 2009-12-09 15:36:16