繁体   English   中英

Ruby On Rails-按钮运行功能

[英]Ruby On Rails - Button run function

Okey,所以我对红宝石不陌生。 我试图在按下按钮时调用函数。 但是我不知道该怎么做。

这基本上是我想做的事情:

<% button_to 'Ban User', call_this_function %>

<% this_function %>
 @user = User.find(:id)
 @user.deactivated("true")
<% end %>

这是我写的一些实际代码

  <% if has_role?(:admin) %>
    <% if !@user.deactivated %>
      <% if !@user.has_role?(:admin) %>
        <%= link_to 'Ban User', new_discussion_path, class:"button is-danger" %>
      <% end %>
    <% else %>
      <%= link_to 'Unban User', new_discussion_path, class:"button is-success" %>
    <% end %>
  <% end %>

但这仅重定向到我可以在其中创建新讨论的页面。 我想做的是在按下按钮时只调用一个命名函数,而不重定向到其他页面。 很抱歉缺少代码,但是请问您是否需要澄清。

将控制器动作添加到您相应的控制器中,例如,

def ban_user
 @user = User.find(params[:id])
 @user.deactivated("true")
end

将此操作添加到您的routes.rb

get 'controller/ban_user'

现在您可以将链接添加到视图中

<%= link_to 'Ban User', controller_user_ban_path(:id => @user.id), class:"button is-danger", remote: true %>

这将在不加载页面的情况下调用该函数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM