0

「link_path」という名前の列の下のデータベースにパスを保存するモデルがあります-例:

Model.first.link_path == /posts/1 

(または、別の言い方をすれば、データベース テーブルに controller/model_id をキャッシュしているので、Rails はゼロから構築する必要がありません。)

私の見解では、このパス情報を使用して URL を作成したいと考えています。たとえば、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にリンクしています

修正方法について何か考えはありますか?

4

1 に答える 1

1

BrMcMullin に感謝 - モデルを呼び出さずに URL ヘルパーを使用できることを知りませんでした。link_to の重みはいらないので、結局

url_for(post.link_path) 

文字列補間を使用して手動で構築する代わりに、期待どおりに機能するようです。

于 2013-02-07T00:55:52.673 に答える