ruby-on-rails - 使用数组的简单路由

标签 ruby-on-rails rails-routing

因此,如果我想要编辑链接,我可以执行以下任一操作:

link_to 'Edit', edit_user_task_path(@user, @task)
link_to 'Edit', [:edit, @user, @task]

但是,如果我想删除一个,我必须这样做:

link_to 'Delete', [@user, @task], method: :delete

是否可以让rails理解以下内容?

link_to 'Delete', [:delete, @user, @task]

它似乎试图转到“delete_user_task_path”,是否有一个更短的删除形式,就像编辑一样?

最佳答案

您必须了解的是,link_to 方法的数组参数不会触及请求方法(据我所知)。

因此,您的建议实际上会对/user/:id/delete 之类的内容执行 GET 请求。

你可以通过类似的事情来实现这一点

resources :user do
  get :delete, on: :member
end

但这不是很 RESTful,我不会推荐它。

关于ruby-on-rails - 使用数组的简单路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13954466/

相关文章:

ruby-on-rails - capybara :获取 <script> 标签内的内容?

ruby-on-rails - Rails Routes - 斜杠字符与哈希字符

ruby-on-rails - 在 Rails 中制作漂亮的 url。更改/用户/到数据库字段

ruby-on-rails - 不能在资源范围外使用成员 (ArgumentError)

ruby-on-rails - 使用路由约束时设计错误

css - 来自 Fonts.com 的自托管 @font-face 套件无法在 Rails 中正确加载

ruby-on-rails - Rails 5.1 webpacker "import".js.erb 文件?

javascript - Rails - jQuery 有时未加载

ruby-on-rails - 添加 Rails 独立路由

ruby-on-rails - Cron 作业和后台任务