truthSeekr
truthSeekr

Reputation: 1633

rails button_to :disabled => true still displays the button

I would like to display a button but in a disabled state,to show the user that they already saved an item.

I currently used something like:

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

The generated html looks like:

<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>

This disables the action by setting the disabled=true option. However, the button is still displayed. Is there a way to show the button in a disabled state if the condition is true?

thanks

Upvotes: 17

Views: 29401

Answers (2)

CLer
CLer

Reputation: 341

You have to specify URL first or let it empty. In your case :disabled is a param[:disabled].

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

Upvotes: 34

Joshua Partogi
Joshua Partogi

Reputation: 16425

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

Upvotes: 9

Related Questions