我正在使用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
路由时,您将获得params[:user_id]
。像
def approve
@user = User.find params[:user_id]
puts '#{@user}'
end
路径在两种情况下都是相同的
<%= link_to "Approve", users_approve_path(@user) %>
Source Rails-添加更多RESTful操作
编码快乐!!!