2010-02-12 70 views
9

我想显示一个按钮但处于禁用状态,向用户显示他们已经保存了一个项目。rails button_to:disabled => true仍然显示按钮

我目前使用的是这样的:

<%= button_to 'Save', :disabled => item.is_saved? %> 

生成的HTML看起来像:

<form class="button-to" action="/results/save_item/748?class=buttons&amp;disabled=true" method="post"> 

<div><input type="submit" value="Save"> 
<input type="hidden" value="+TKyrnA9idfmCkwDycLjHIkSLNou6NMt8R4TI73RezU=" name="authenticity_token"> 
</div> 
</form> 

这将禁用通过设置禁用= true选项的动作。 但是,该按钮仍然显示。 如果条件为真,有没有办法显示处于禁用状态的按钮?

感谢

回答

5
<% if item.is_saved? %> 
    <%= button_to 'Save' %> 
<% end %> 
+0

我想禁用它。 在你建议的代码中,如果is_saved按钮不会出现?是真的。 – truthSeekr 2010-02-12 23:35:12

+0

在原始代码上,如果is_saved为true,则不显示该按钮。所以请告诉我你想要的标准。 – 2010-02-13 00:44:19

+0

对不起,我想我还不够清楚。 我想显示一个按钮,但处于禁用状态,以 显示用户他们已经保存它。 相反,我最初发布的代码根本没有按钮。 我想要一个按钮,但处于禁用状态。 – truthSeekr 2010-02-13 01:13:49

20

你必须先指定URL或让它空。在你的情况:禁用是一个参数[:禁用]。

<%= button_to 'Save', {}, :disabled => item.is_saved? %>