我在用户视图Index
页面中有一个button_to
标记,如下所示:
<%= button_to "Make Admin", :action => :make_admin :user => user %>
在用户控制器中,我有:
def make_admin
@user = User.find(params[:id])
@changed_user.role = 3
@changed_user.save
end
我收到有关错误路由的消息,但由于我对更改视图不感兴趣,直到操作后我不知道如何路由此操作。我哪里出错?
答案 0 :(得分:1)
您需要在路线中命名路径:
# routes.rb
get 'your_path' => 'user#make_admin, :as => 'make_admin' # can use post too
# controller
def make_admin
# logic to make an admin
redirect_to(some_other_path, :notice => 'User was made an admin')
end
然后,在您看来,
button_to 'make admin', make_admin_path
您可能还想远程拨打电话,但是您需要在这个意义上发布包含更多信息的其他问题