我是铁路新手。我的澄清很少,下面列出。
我已经提到了许多链接和堆栈溢出问题,到处都提到使用 request 并获取有关路径,控制器,操作等的详细信息,但是如果我在route.rb中使用request,则会引发未定义的局部变量或方法错误。
我在 routes.rb 中使用了约束,并从那里调用了动态约束类别的方法 matches?在 lib / constraints 目录中定义。在这里, matches?(request)接收到一个名为request的参数,该参数包含有关当前路由的详细信息,该参数值是从哪里发送的?,我对此表示怀疑,因为在route.rn中使用此方法时在 constraint(ClassName)中,我没有区分方法名称(匹配?)或参数 request
我想知道幕后事物的运作方式。
谢谢
答案 0 :(得分:0)
您在寻找吗
request.url
# => "http://localhost:3000/lists/7/items"
request.path
# => "/lists/7/items"
答案 1 :(得分:0)
如果您有URI:
localhost:3000/users/:id
localhost:3000/users
localhost:3000/users/new
....
您可以做类似
的操作rake routes | grep user
,以便仅获取其路径名中包含user
的文件。
希望这会有所帮助。
答案 2 :(得分:0)
通常,您不访问routes.rb中的当前路径,至少就像您要求访问它时一样。我想您正在寻找的实用工具,在Rails路由器中使用了许多不同的匹配方法和技术。
以下是文档的链接:https://guides.rubyonrails.org/routing.html
你能分享究竟为什么要访问在routes.rb中文件curret路线?