0

これは簡単な質問であるべきだと思います。次の形式の URL をルーティングしたいと思います。

http://mywebsite.com/my_special_tag 

特定のIDを持つ特定のコントローラー/アクションのペアに、例えば

http://mywebsite.com/user/post/13 

(ここで、13 はコントローラー/アクションに渡したい ID です)。

また、リダイレクトしたくない、レンダリングしたいだけであることにも注意してください。

Rails 3でこれを行う簡単な方法はありますか?

ありがとう!

4

3 に答える 3

0

次のようなテーブルが必要です。

タグ表:

id | post_id | tag
-------------------
1  |    13   | my_special_tag

そして、before_filterそのタグを取り、データベースで post_id をチェックする , が必要です。

次のようなワイルドカード ルートも必要です

それから始めて、より具体的な質問がある場合はお知らせください。より良いお手伝いができます.

于 2013-08-30T20:23:21.367 に答える
0

ルートを確認すると、ネストされたルートを正しく定義していれば、ユーザー ポスト ルートの構文を取得する必要があります。

ルートにエイリアスを付けるには、次のように特定の一致に対して特定の ID を定義できます。

match '/special_tag' => 'posts#index', :defaults => { :id => '5' }

アップデート

明確にするために、上記は、ルートにエイリアスを設定したいいくつかの特定のページにのみ使用する必要があります。各ユーザー投稿ページへのよりユーザーフレンドリーなリンクを提供したい場合は、次のようなルートを持つことができるhttps://github.com/norman/friendly_idのようなものをお勧めします

http://example.com/states/washington

それ以外の:

http://example.com/states/4323454
于 2013-08-30T21:51:13.440 に答える