Rails 新人请教一个比较奇怪的问题

BBQ · 2012年04月08日 · 最后由 BBQ 回复于 2012年04月10日 · 3234 次阅读

<li>主题:<%= link_to "#{post.title}", home_mm_content_path(post.id) %></li> 以上代码显示 html 是<li>主题:<a href="/home/mm_content.2">标题</a></li> 我怎么写才能显示<li>主题:<a href="/home/mm_content/2">标题</a></li> 否则 routes 无法传递 match ':controller(/:action(/:id(.:format)))' routes 写 get "home/mm_content.:id" 这样的路由也不行!

sorry,不太懂楼主的意思⋯⋯但是一般情况下,路由这么写

get "home/mm_content/:id" => "some_controller#some_action"

FYI

为什么会生成 mm_content.2 呢。.是不是@post.id?

#2 楼 @jiffies 匹配到 (.:format) 去了

我奇怪匿名路由怎么会有 url herlper。

楼主看的资料旧了,现在不会用 ':controller(/:action(/:id(.:format)))' 这样的匿名路由。

@Rei 我确实用了 ':controller(/:action(/:id(.:format)))'

也许时画蛇添足了,post 就够了,不要.id

<%= link_to "#{post.title}", home_mm_content_path(post) %>

#5 楼 @BBQ 这样应该是没有 home_mm_content_path 这个方法的,是不是还有别的路由


看了下文档,好像还真有

home_mm_content_path(:id => post)


试试

@Rei 谢谢·~有空我试试看,给你反馈

需要 登录 后方可回复, 如果你还没有账号请 注册新账号