如果当前用户之前已提交,则要禁用提交按钮

时间:2014-06-26 09:21:47

标签: ruby-on-rails

因此,如果您已经提交了表单,我正在尝试将其设置为禁用。

我提交时会存储您的current_user.id。如果再试一次,应该会遇到一个禁用的提交按钮。

我一直试图用if else语句写这个,但它只是笨拙而且不起作用。

这是我尝试过的:

<% if @f.current_user.id.present? %>
 <%= f.submit "Submit" %>
<% else %>
 <p>Disable code here</p>
<% end %>

1 个答案:

答案 0 :(得分:2)

编辑:考虑到评论中提供的其他信息,答案完全被重写。

首先,在控制器中,您需要检查current_user之前是否发布过:

# In controller action
@user_already_submitted = Answer.where(user_id: current_user.id,
    application_id: @answer.application_id).count > 0

然后在视图中:

<%= form_for @answer do |f| %>
  <!-- rest of the form -->
  <%= f.submit "Submit", :disabled => @user_already_submitted %>
<% end %>