Rails - 在数据库中存储路由数据

时间:2013-02-06 19:20:35

标签: ruby-on-rails ruby ruby-on-rails-3

我有一个模型,在名为“link_path”的列下存储数据库中的路径 - 例如:

Model.first.link_path == /posts/1 

(换句话说,我在数据库表中缓存controller / model_id,因此Rails不必从头开始构建它。)

在我看来,我想使用此路径信息建立一个网址 - 例如http://www.mysite.com/posts/1

我目前在视图中有以下代码:

<a href="<%= "#{request.protocol}#{request.domain}#{request.port_string}#{post.link_path}" %>">

在开发过程中,当使用POW / Nginx和Webrick时,所有工作都按预期进行 - 例如,链接构建到

http://localhost:3000/posts/1).  

然而,在制作中,当我将鼠标悬停在链接上时,它显示正确(例如,mysite.com/posts/1)但是,当我点击链接时,.com和帖子之间的'/'奇怪地丢失了。该页面链接到http://mysite.composts/1

有关如何修复的想法吗?

1 个答案:

答案 0 :(得分:1)

感谢BrMcMullin - 我不知道我可以在不调用模型的情况下使用URL助手。由于我不需要link_to的权重,我最终改为

url_for(post.link_path) 

而不是使用字符串插值手动构建,而且似乎按预期工作。