我正在使用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?'} %>
。当我点击此链接时,我想在上面调用上面的方法。
答案 0 :(得分:0)
您只需要define a route并通过以下方式调用它:
#config/routes.rb
resources :users do
get :approve, on: :member
end
<%= link_to "Approve", users_approve_path(@user) %>
答案 1 :(得分: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
快乐的编码!!!