我一直在网上搜索,还没有找到在使用Oauth/Devise/Bootstrap或Foundation时如何在导航栏中添加个人资料图片的指南-有什么建议/指南吗?谢谢。
发布于 2013-10-07 20:41:39
这里没有太多信息可供参考。
这张头像存储在哪里?你是从用户的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,则无法直接访问设计视图或控制器,因此上面的代码将放在上面的views /layout/application.html.erb中。
那么头像就会出现在导航栏中的任何视图上,甚至是设备视图。
如果你想影响设计视图和控制器,有一种方法可以把它们带出来。Devise Wiki在这里提供了有关此过程的详细信息。
https://github.com/plataformatec/devise#getting-started
在“配置视图”和“配置控制器”下
如果您添加一些示例和更多信息,我可以进一步详细介绍并提供更多代码。也许这已经有帮助了?
https://stackoverflow.com/questions/19228562
复制相似问题