1
私はRuby on Railsには新しく、学ぶためにいくつかのオープンソースコードで遊んでいます。model_path()メソッドはどのように動作するのですか?
model_path(@model)
メソッドが返す内容とその変更方法を理解する上で、いくつかの問題があります。具体的には、私はid
とslug
のモデルを持っていて、なんらかの理由でmodel_path(@model)
はid
ではなく、slug
のパスを常に返します。
これがなぜ発生するのか、この動作をどのように変更することができるかに関するアイデアはありますか?
おかげで
:id
を代用しますこのURLが生成されます!コードは今より意味をなさない。 http://domain.com/:id/:slug – slugger
カスタムルートを追加する簡単な方法はありますか? '/:id /:slug'、:to => "your_controller#show"、:as =>:custom_modelに一致します。次に、ビューcustom_model_path(@ model.id、@ model.slug)でこれを使用できます。しかし、私はこれは良い解決策を見つけることはできませんが、より良いto_paramメソッドは、IDとスラッグを返すようにURLは "/モデル/ 12-blabla"このようになります – egze
私は12 blablahも好きですが、コントローラーがparams [:id]を使用しているユーザーにとってより難しいですか?モデルインスタンスを見つけるためには、スラッグかIDのどちらかを解析する必要がありますか? – slugger