簡體   English   中英

Rails調用控制器用戶定義的方法

[英]Rails call a controller user-defined method

我正在使用Rails,我有一個控制器名稱簿,並且其中有一個用戶定義的方法。我需要調用此方法以便可以在控制台上看到輸出。而且我不想在助手中調用此方法。

def approve
    @user=current_user.users.find params[:id]
    puts '#{@usery}'     
  end 


我也有一個鏈接

<%= link_to 'approve',users_path,data: { :confirm => 'Are you sure to delete the folder and all of its contents?'} %>


當我單擊此鏈接時,我想在上面調用上述方法。

您只需要定義一條路線並通過該路線進行調用:

#config/routes.rb
resources :users do
    get :approve, on: :member
end

<%= link_to "Approve", users_approve_path(@user) %>

正如@Rich所建議的那樣,您可以由member實現。 請注意,在會員區中創建member路線時

resources :users do
  member do
    get 'approve'
  end
end

然后您將獲得params[:id] 喜歡

def approve
  @user = User.find params[:id]
  puts '#{@user}'     
end

當使用:on創建member路由時:on您將獲得params[:user_id] 喜歡

def approve
  @user = User.find params[:user_id]
  puts '#{@user}'     
end

兩種情況下的路徑都相同,即

<%= link_to "Approve", users_approve_path(@user) %>

Source Rails-添加更多的RESTful動作

編碼愉快!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM