这可能是一个微不足道的问题,但我找不到任何解决方案来做到这一点。
def make_thing
@thing = Thing.new
if @thing.save
redirect_to some_path
end
end
<%= link_to "Make Thing", controller: :things, action: :make_thing %>
在重定向之前,将多个请求(通过按“Make Thing”链接)发送到“make_thing”操作将多次调用save方法。所以这将创建多个记录。 我怎么才能记录单个“东西”并重定向呢?
答案 0 :(得分:0)
您应该使用disable_with
(Rails 4: Disable submit button after click)并在model-
或database-level
检查记录的唯一性。
UPD:
你可以做这样的事情来禁用图像(苗条):
= link_to "#", data: { disable_with: "<span class='with_image' class='with_image'>Submitting...</span>" }
span
| Submit
和css:
.with_image {
background: url('/assets/test.jpg');
}
但是最好使用jquery loader或类似的东西...... 希望我能帮助我解答。