ruby on rails 第 8 章,第 3 版.关于菜单下拉 [英] ruby on rails chapter 8, 3rd Edition. About menu dropdown
问题描述
登录用户帐户后,我似乎无法显示关于下拉菜单.我没有使用 heroko,而是在我的本地服务器上运行它,但我认为这不会有所作为.
<div class="容器"><%= link_to "sample app", root_path, id: "logo" %><导航><ul class="nav navbar-nav navbar-right"><li><%= link_to "Home", root_path %></li><li><%= link_to "Help", help_path %></li><% 如果已登录?%><li><%= link_to "Users", '#' %></li><a href="#" class="dropdown-toggle" data-toggle="dropdown">帐户 <b class="caret"></b></a><ul class="下拉菜单"><li><%= link_to "Profile", current_user %></li><li><%= link_to "Settings", '#' %></li><li class="divider"></li><li><%= link_to "注销", logout_path, method: "delete" %> <%其他%><li><%= link_to "登录", login_path %></li><%结束%></nav>
</标题>和我的会话控制器类 SessionsController <应用控制器定义新结尾定义创建user = User.find_by(email: params[:session][:email].downcase)如果用户 &&user.authenticate(params[:session][:password])登录用户参数[:session][:remember_me] == '1' ?记住(用户):忘记(用户)重定向到用户别的flash.now[:danger] = '无效的电子邮件/密码组合'呈现新"结尾结尾销毁log_out 如果已登录?重定向到 root_url结尾结尾
感谢您的帮助
是否声明了 logged_in?
方法?他们负责用户的登录状态.
I cant seem to show the about dropdown menu when signed in to the user account. I am not using heroko, running it in my local server, but I dont think that should make a difference.
<header class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<%= link_to "sample app", root_path, id: "logo" %>
<nav>
<ul class="nav navbar-nav navbar-right">
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Help", help_path %></li>
<% if logged_in? %>
<li><%= link_to "Users", '#' %></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
Account <b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><%= link_to "Profile", current_user %></li>
<li><%= link_to "Settings", '#' %></li>
<li class="divider"></li>
<li>
<%= link_to "Log out", logout_path, method: "delete" %>
</li>
</ul>
</li>
<% else %>
<li><%= link_to "Log in", login_path %></li>
<% end %>
</ul>
</nav>
</div>
</header>
and my session controller
class SessionsController < ApplicationController
def new
end
def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
params[:session][:remember_me] == '1' ? remember(user) : forget(user)
redirect_to user
else
flash.now[:danger] = 'Invalid email/password combination'
render 'new'
end
end
def destroy
log_out if logged_in?
redirect_to root_url
end
end
Thanks for your help
Is the logged_in?
method declared? They is responsible for the login status of the user.
这篇关于ruby on rails 第 8 章,第 3 版.关于菜单下拉的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!