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