[英]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.