2015-12-23 2 views
0

Я работаю с рельсами У меня есть книги с именем контроллера и в нем есть определенный пользователем метод. Мне нужно вызвать этот метод, чтобы я мог видеть вывод на консоли. И я не хотите вызвать этот метод в помощниках.
Рельсы вызова контроллера пользовательский метод

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?'} %> 


.Когда я нажмите на эту ссылку, я хочу, чтобы вызвать вышеописанный способ на него.

ответ

0

Вам просто нужно define a route и вызвать его через это:

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

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

Как @Rich предположил, что вы можете достичь его member. Обратите внимание, что когда вы будете создать member маршрут члена блока

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

тогда вы получите params[:id]. Как

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

и при создании member маршрута с использованием :on, то вы получите params[:user_id]. Как

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

Путь будет одинаковым в обоих случаях это

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

Источник Rails - Adding More RESTful Actions

Днем кодирования !!!

Смежные вопросы