我正在学习RoR,并且对于在Controllers和Routes中使用的“_path”方法感到非常困惑。更具体地说,我指的是许多不同调用采用“(something)_path”的语法。据我所知,它们似乎都编码或操作URL或链接。由于我无法弄清楚它的核心功能是什么,因此我很难掌握这种类型的方法。
例如,我可以在我的config/routes.rb文件中使用以下代码将旧的URL结构重定向到列出Tweet实例的页面:
get '/all' => 'tweets#index', as: 'all_tweets'
现在我才能在.erb文件中使用以下内容。请注意行末的“_path”代码。
<%= link_to "All Tweets", all_tweets_path %>
我还可以使用以下代码创建到不同 .erb 文件中的编辑页面(和另一个操作)的链接:
<p><%= link_to tweet.user.name, edit_tweet_path(@tweet) %></p>
我尝试阅读我的学习资料和RoR文档,但我总是比开始时更加迷茫。有人知道这个"_path"方法的低级定义吗?
resources :posts
,然后运行rake routes
来查看生成的不同方法 :) - The Lazy Log