使用此question和railscast 63我的文章被发送到文章/ article_permalink。
我希望在网址中没有模型名称的情况下访问它们,以便my-domain.com/article_permalink直接路由到文章。我只希望在show动作中发生这种情况。这可能吗?
答案 0 :(得分:2)
我认为你需要像...这样的东西。
(在routes.rb中)
match '/:id' => 'articles#show', :via => 'get'
(需要是最后一个,或者在路线的末尾,因为它可以匹配其他路线的请求)
要更改article_path(...)帮助程序,“as”可能有所帮助:http://guides.rubyonrails.org/routing.html#overriding-the-named-helpers
或者您可以为该特定路径添加帮助程序。
答案 1 :(得分:0)
如果我理解你的问题,你希望绑定到路线“articles / article_permalink”的模型是动态的,基于哪个文章从列表中选择?
您是否可以将模型ID作为查询字符串附加到URL的末尾?更复杂的方法是将链接POST,将模型ID作为隐藏输入字段。您的控制器可以确定它是否通过get / post访问,并相应地处理它,但这感觉不对。
无论如何,当根据对“articles / article_permalink”的请求触发控制器操作时,它必须知道要获取哪个模型。由于HTTP是无状态的,所以必须传入一些东西。你可以想象并编写JavaScript来激活一个AJAX调用,设置一个会话var,然后激活GET,但这很麻烦。
我希望我理解这个问题......