因此,如果您已经提交了表单,我正在尝试将其设置为禁用。
我提交时会存储您的current_user.id。如果再试一次,应该会遇到一个禁用的提交按钮。
我一直试图用if else语句写这个,但它只是笨拙而且不起作用。
这是我尝试过的:
<% if @f.current_user.id.present? %>
<%= f.submit "Submit" %>
<% else %>
<p>Disable code here</p>
<% end %>
答案 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 %>