我在路由按钮时遇到问题,因此它在控制器中调用了一个动作。更具体地说,我有这一行
delete 'destroy/:id', to: 'users#admin_destroy'
在我的路线文件中,此行
%= button_to 'Destroy', destroy_path(user), data: { confirm: 'Are you sure?' } %>
在视图中。
问题是该页面一直将destroy_path视为一种方法,而我对于正确的语法应该是什么感到茫然。我误解了什么?
此外,我最初尝试将此工作作为link_to,但我了解到应该为GET请求保留。但是,我不喜欢button_to看起来如何,我想知道是否有办法以GET方式执行此操作,以便可以使用link_to。
答案 0 :(得分:1)
我不确定这是否能彻底解决您的问题,但是......您可以自定义这样的路径:
config/routes.rb
中的
delete 'destroy/:id', to: 'users#admin_destroy', as: :destroy
这将允许您在应用程序中使用destroy_path
,并使用admin_destroy函数将其路由到您的用户控制器。
您可以阅读更多相关信息here