1

Rails 4の gem を使用してfriendly_id、ユーザーの製品リストに適切な URL を作成しています。をオーバーライドすることで機能しますto_param。現在Shop、私のサイトの公開部分である名前空間でうまく機能していますが、Admin名前空間では通常の ID を使用する必要がなく、URL を短くしたいので、通常の ID を使用したいと考えています。

これは簡単だと思っていましたが、掘り下げてみると、実際にはやや複雑に思えます。はモデルのto_param一部であるため、どのコントローラーで呼び出されているかについての実際の概念はありません。そのため、私が目にする唯一のオプションは、名前空間url_forで使用するようにオーバーライドすることです。どうやってそれを行うのかわかりません。いじるのは少し危険に思えるので、それが本当に最善の粗いアクションであるかどうかはわかりません。idAdminurl_for

4

2 に答える 2

1

FriendlyId5 を使用すると、ファインダーはデフォルトで上書きされません。

friendly_id :foo, use: :slugged # you must do MyClass.friendly.find('bar')
# or...
friendly_id :foo, use: [:slugged, :finders] # you can now do MyClass.find('bar')

このように、最初のオプションを使用できると思います。名前空間の呼び出し MyClass.friendly.find('params[:id]') または MyClass.find('params[:id]')

于 2013-11-07T10:54:30.847 に答える