【发布时间】:2017-07-03 05:03:41
【问题描述】:
创建或更新资源时,默认情况下目标 URL 与索引路由相同,对于用户,例如localhost:3000/users.
不同之处在于使用PUT方法而不是POST(据我所知)。
我觉得这不是最理想的。例如,当导航菜单中包含“创建用户”项时,我想在该项处于活动状态时设置active CSS 类。我通过比较 current_page? 和菜单项的 URL(例如 users/new)来做到这一点。这工作正常,但只有当我没有验证错误时。在这种情况下,URL 现在不再是users/new,而是users。
Rails 没有针对 POST/PUT 请求分别指向 users/new(或 users/edit)是否有充分的理由?使用它们有什么缺点吗?有没有简单的方法来改变这种行为?
【问题讨论】:
-
嗯,根据经验,我可以告诉你,用这个来对抗框架并不是一个好主意。
-
是的,我也更喜欢为新/创建和编辑/更新对回发到相同的 URL。做到这一点并不难(见下面的答案),但你最终可能会做很多工作来保持 url 和表单助手正常运行。与其把时间花在创建更有弹性的 CSS 上,不如说是更好。我建议避免使用特定于页面或 url 的样式。根据我的经验,它们是不可维护的。
标签: ruby-on-rails post routing put restful-architecture