1
1
EmFi是对的。我没有回答这个问题,只是表达了我的意见。
将以下代码放入Rails应用程序中配置初始值设定项目录中的初始值设定项文件中。您命名的文件对框架来说并不重要,因为这个目录中的所有文件都在加载路径中。我建议你叫它
我的答案与EMFI的方法相同,即通过MonkeyPatching
现在运行
塔达! |
2
2
这将需要一些严重的MonkeyPatching。路由也是Rails代码库中最复杂的部分之一,它将传入的HTTP请求连接到代码并生成URL。 恕我冒昧,但据我所知,你违反Rails惯例的原因是模仿另一家公司。换言之,您愿意无视Rails贡献者的集体智慧,支持少数开发人员的决策。 我认为你应该问问自己,你为什么要让这件事足够引人注目,与所需的努力相称? 它越难做轨道以外的事情,人们就越应该质疑他们的决定。重大障碍的存在通常意味着有更好的方法去做一些事情。 |
3
0
我相信(.format)是可选的(这就是括号的意思),所以
如果你想改变的更多,你将需要黑客/猴子补丁轨道。 |
4
0
我只是在这里拍照(明天我可以玩代码的时候我会检查和更新),但是你不能避免使用
路线 :
控制器 :
如果情况过于混乱/丑陋,您可以轻松地创建一个模仿您正在寻找的行为的助手方法。 |
5
0
Steve Graham says everything 这是必须说的,但是一个200人代表的问题应该得到一个正确的答案。不管多么不明智。此外,这看起来确实有用。 猴子补丁非常简单。您只需要重写actionController::resource映射resource路由,如下所示。
将这个补丁合并到代码中涉及到要么修补Rails gem,要么制作一个插件,这两者都非常简单,留给读者作为练习。 如果路径已经包含一个名为format的参数,代码将跳过向所有路由添加选项格式的行。 编辑:链接到该解决方案所指的Steve Graham答案。最初发帖的时候只有一个。 |
6
-1
我用了这个代码:
URL变成 api/v1/[json/xml/whatever]/<restful url位于此处> 我也喜欢名称间距的概念(比如在你的问题中):
虽然此方法允许您将格式放在URL中两次: 这不是由你来确保用户不会将格式放在URL中两次,而是由你的用户来确保他们不会将格式放在URL中两次。 不要花时间解决Pebkacs。 |
Animesh Arya · 关联模型的Rspec 2 年前 |
Kellen · 查看$卷展栏功能列表 2 年前 |
Akshit Thakur Ak · 我怎样才能把铁轨停下来? 2 年前 |
solidsnake99 · Rails db:如何绕过验证 2 年前 |
Spyros · 从数组中删除nil值,并从引用数组中删除相应的项 2 年前 |
Pauli-E · 当div打开并滚动到屏幕上时,向div添加类 2 年前 |
ejoka · 如何使用Rails 7模型属性作为CSS标记值 2 年前 |