drp*_*per 3 routing routes ruby-on-rails
假设我有这个:
<%= link_to "My Big Link", page_path(:id => 4) %>
Run Code Online (Sandbox Code Playgroud)
在我的page.rb中,我希望通过永久链接显示网址,以便我使用标准:
def to_param
"#{id}-#{title.parameterize}"
end
Run Code Online (Sandbox Code Playgroud)
现在,当我单击"我的大链接"时,它会将我带到正确的页面,但地址栏中的URL不会显示所需的永久链接.相反,它只显示标准:
wwww.mysite.com/pages/4
Run Code Online (Sandbox Code Playgroud)
这是因为我将id硬编码到page_path中吗?如果我使用直接的html,它也不起作用..
<a href="/pages/4">My Big Link</a>
Run Code Online (Sandbox Code Playgroud)
如果有人能够验证这种相同的行为并让我知道这是否有意,我将不胜感激.我需要硬编码的能力:id来指定确切的页面......
只需使用page_path(页面).我猜路径助手本身不访问数据库(这很好),但是如果它们被提供了一个对象,并且该对象有一个to_param方法,则该方法用于生成标识符.
<%= link_to "My Big Link", page_path(page) %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1338 次 |
| 最近记录: |