我一直在网上研究,但没有找到在使用 Oauth/Devise/Bootstrap 或 Foundation 时向导航栏添加个人资料图片的指南 - 有什么建议/指南吗?谢谢你。
1 回答
没有太多的信息可以在这里消失......
此个人资料图片存储在哪里?您是从用户的 Oauth 帐户中获取它吗?从 Facebook 或 Twitter 上说?还是您自己存储?
我假设您只是在用户登录后尝试使用本地存储的个人资料图片更新导航栏(这是正确的吗?)。
Bootstrap 和 Foundation 只是 JS 和 CSS 库,它们会影响您的显示,但通常不需要显示您的个人资料图片。
如果您正在使用 Ruby on Rails 和 Devise,您已经有一个名为“current_user”的辅助方法,Devise 免费提供该方法。
如果您想在用户登录时在导航栏中显示个人资料图片,则只需使用...
<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 above 中。
然后配置文件图片将出现在任何视图的导航栏中,甚至是设计视图。
如果您想影响设计视图和控制器,有一种方法可以将它们带出来。Devise Wiki 在此处提供有关此过程的详细信息...
https://github.com/plataformatec/devise#getting-started
在“配置视图”和“配置控制器”下
如果您添加一些示例和更多信息,我可以进一步详细说明并提供更多代码。也许这已经有帮助了?