当前用户点击ruby中的按钮后,如何隐藏按钮

时间:2014-05-05 03:17:22

标签: ruby-on-rails ruby

我试图在点击后将这个按钮隐藏在ruby中,这样它就不会再显示出来并且用户认为他们的请求没有通过。我只是希望这个可点击一次然后从页面中删除而不仅仅是禁用

<% if @ride_request clicks %>
  <%= link_to "Book Ride",  :controller => "/request", :action => "book", :id => @ride.id %>

4 个答案:

答案 0 :(得分:1)

考虑使用disable_with,哪个IIRC适用于link_to和提交按钮:

http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to

答案 1 :(得分:1)

你可以在控制器特定的.js文件中使用这个javascript(jQuery)

$(document).ready(function() {
    $('#replace_id').click(function (){
        $(this).hide();
        });
});

您现在需要做的就是添加对象的ID并将其替换为replace_id

答案 2 :(得分:0)

你可以尝试jQuery&#39; element.hide() http://api.jquery.com/hide/#hide

或者你可以切换css&#39;该按钮的display:none

或者您可以尝试jQuery&#39; element.remove() http://www.w3schools.com/jquery/html_remove.asp

答案 3 :(得分:0)

你的问题实际上是关于JS,而不是Rails。

您必须记住Rails是一个服务器端框架,这意味着它接收来自前端的请求,然后为您处理响应。这意味着前端的任何UX东西都需要用JS来处理

为此,您最好使用Javascript的$("element").remove();功能:

DEMO

$(document).on("click", "element", function(){
    $(this).fadeOut(150, function() {
        $(this).remove();
    });
});

这会将按钮淡出,然后将其从DOM中删除