簡體   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