有人试图在rails应用程序中重复操作时出错 - 如何处理?

时间:2015-05-18 16:23:48

标签: javascript ruby-on-rails postgresql ruby-on-rails-4 devise

我有rails 4并且正在为事件注册应用运行postgresql。用户通过设计注册。

如果用户已点击"加入"要注册一个事件并尝试再次执行,他们会得到一个通用的404错误。

我想做一些像<%= if user_signed_in? %>这样的事情来隐藏&#34;加入&#34;如果某人已加入活动,则链接。那可能吗?对于事件索引{} {}和index.html.erb以及每个单独事件的show.html.erb页面,我都希望如此。

或者,是否可以创建一些告诉用户的Javascript;嘿,您已经注册了这个,所以你不能再做了#34;

这是show中的当前代码:

index.html.erb

Github回购:https://www.github.com/yamilethmedina/wheels_registration

测试服务器:http://wheels-registration-yamilethmedina.c9.io(如果这会对你的答案产生影响,它也部署在Heroku上)

2 个答案:

答案 0 :(得分:1)

使用设计认证系统作为事件登记系统是有点不切实际的。让用户通过设计创建帐户然后收集其他数据并将其存储为与会者模型等可能更合适。无论哪种方式,您都应该能够获得所需的行为。

<% unless user_signed_in? %> 
  <%= link_to "Join", join_path(event) %> 
<% else %> 
  <%= link_to "Show", event_path(event) %> 
<% end %>

答案 1 :(得分:-1)

让我们假设有一个带有提交按钮的表单。所以脚本看起来像:

$('#myForm').one('submit', function() { $(this).find('input[type="submit"]').attr('disabled','disabled'); });