0

ビデオ名をパンくずリストのタイトルコンテンツに動的にリンクするにはどうすればよいですか。

https://github.com/sekrett/crumbleのチュートリアルに従いました

/config/initializers/breadcrumbs.rb

    crumb :root, "Home", :root_path
    crumb :video, {:videos => :name}, :video_path
    trail :videos, :show, [:root, :video]

私のビデオショーページでは、ブレッドクラムは次のようになっています。

「ホーム>>翻訳がありません:en.breadcrumbs.video」

ビデオのタイトルにアクセスして動的に表示するにはどうすればよいですか?

4

1 に答える 1

0

`crumb:video、{:videos =>:name}、:video_path`を使用するには、最初に` .yml`ファイルで新しいbreadcrumbsノードを定義してから、オブジェクト`@videos`がに存在することを確認する必要がありますあなたのコンテキスト、そしてオブジェクト`@videos`は有効なメソッド"name"(文字列を返す)を持っています

提供したコードでは`video_path`を使用しているので、モデルVideo(CRUD内)に"show "メソッドを使用していると思います。これにより、Videoモデルのコントローラーを再度チェックして正しい変換を行うことができます。

とにかく、値 `params [:id]`は「show」メソッドのコンテキストで使用できるためです。これを利用して、コードを次のように変更するだけです。

 crumb :video, '#{Video.find(params[:id]).name}', :video_path, :params => :id

この方法は(提供したリンクで述べたように)「きれいではない」かもしれませんが、新しい`.yml`ファイルで新しいブレッドクラムノードを定義しなくても目的を達成できます

于 2011-06-06T18:33:04.110 に答える