2016-10-11 18 views
2

登録欄とログインフォーム(deviseの)にbreadcrumbsを追加したいのですが、breadcrumbsをdeviseコントローラにどこに追加するのですか?ruby​​ on railsを考案するためにbreadcrumbを追加する方法

私は、Devises :: RegistrationsControllerから継承されたregistrations_controllerを持っており、 '編集'のためのブレッドクラムを追加しました。私はusers__controller(Devise :: UsersControllerを継承)を作成しようとしましたが、それは私に循環参照エラーを与えました。

これらのブレッドクラムをdevisesのユーザー「ページ」に追加するにはどうすればよいですか?

おかげで、 ジョー

答えて

2

私のプロジェクトでは、夢のような宝石を使用しています。breadcrumbs on rails

rails g devise User 
rake db:migrate 
rails generate devise:views users 

マイregistration_controller.rb次のようになります:

# app/controllers/registrations_controller.rb 
class RegistrationsController < Devise::RegistrationsController 
    add_breadcrumb "home", :root_path 
    add_breadcrumb "contact", :contacts_path 
end 

私はルートを変更:

devise_for :users, :controllers => { registrations: 'registrations' } 
あなたが工夫してUserモデルを加えていない場合は

は、最初にことを確認します

application.html.erbレイアウトでパンくずリストを追加しました(<%= yield%> )

<%= render_breadcrumbs %> 

私はちょうどそれをテストし、あなたがスクリーンショットから見ることができるように動作します。

enter image description here

EDITED:あなたはたとえば、工夫宝石の他のページにパンくずリストを追加したい場合は

パスワードページを忘れ、あなたは新しいコントローラーを行うことができます。

# app/controllers/passwords_controller.rb 
class PasswordsController < Devise::PasswordsController 
    add_breadcrumb "home", :root_path 
    add_breadcrumb "contact", :contacts_path 
end 

とあなたのルートを更新してください:

devise_for :users, controllers: { 
    registrations: 'registrations', 
    passwords: 'passwords' 
    } 

ご利用いただけるかどうか教えてください。

+0

パンくずリストを追加する方法についてパスワードを忘れましたか?他のページを考案していますか?私はそれらを働かせるように見えない。 –

+0

@JoeGuerra私の編集した答えをチェックし、それが役立つかどうか教えてください。 – Blackcoat77

+0

ありがとう、それは働いたようです。したがって、基本的にルートテーブルのルートを確認し、新しいパスのコントローラを作成して、ルート設定ファイルに追加します。 –

0

あなたはと工夫ビューを生成することができますどのようなユーザーモデル名でusersを置き換えてください

rails generate devise:views users

それはUser(例えばない場合であるAdminManagerなど)

パンくずリストを表示する必要がある場合は、これらのビューに追加できます。

+0

こんにちは、登録コントローラーで最初に定義する必要はありませんか? –

関連する問題