私はオンラインで調査してきましたが、Oauth/Devise/Bootstrap または Foundation を使用しているときにプロファイル画像をナビゲーションバーに追加するためのガイドを見つけていません - アドバイス/ガイドはありますか? ありがとうございました。
1 に答える
ここから抜け出す情報はあまりありません...
このプロフィール写真はどこに保存されていますか? ユーザーの Oauth アカウントから取得していますか? FacebookかTwitterか?それとも自分で保管していますか?
ユーザーがサインインしたら、ローカルに保存されたプロファイル写真でナビゲーションバーを更新しようとしているだけだと思います (これは正しいですか?)。
Bootstrap と Foundation は単なる JS と CSS ライブラリであり、表示に影響を与えますが、通常、プロフィール写真を表示するために必要なものではありません。
Ruby on Rails と Devise を使用している場合は、Devise が無料で提供する「current_user」というヘルパー メソッドが既に存在します。
ユーザーのサインイン時にナビゲーション バーにプロフィール画像を表示する場合は、次のようにします。
<nav id='nav_bar'>
<% if current_user %>
<%= image_tag("/assets/yourimagename.jpg", class: "foundation_or_bootstrap_class") %>
<% end %>
<ul class='nav_links'>
<li><%= link_to 'Sign In', '#yourlinkhere', class: 'sign_link' %></li>
<li><%= link_to 'Sign Out', '#yourlinkhere', class: 'sign_link' %></li>
</ul>
</nav>
この場合、ナビゲーション バーはページのリロードまたはリダイレクト時にのみ更新されます。ナビゲーション バーを JavaScript だけで更新したい場合も同様に実行できますが、もう少し詳細なコーディングが必要になります。
最初に提供された Devise gem をそのまま使用する場合は、Devise のビューやコントローラーに直接アクセスできないため、上記のコードは上記の views/layouts/application.html.erb に配置されます。
次に、デバイスビューであっても、どのビューのナビゲーションバーにもプロフィール写真が表示されます。
デバイスのビューとコントローラーに影響を与えたい場合は、これらを引き出す方法があります。Devise Wiki は、この手順の詳細をここで提供しています...
https://github.com/plataformatec/devise#getting-started
「ビューの構成」および「コントローラーの構成」の下
いくつかの例と詳細情報を追加していただければ、さらに詳しく説明し、より多くのコードを提供できます。おそらくこれはすでに役に立ちますか?