ruby on rails 第 8 章,第 3 版.关于菜单下拉 [英] ruby on rails chapter 8, 3rd Edition. About menu dropdown

查看:26
本文介绍了ruby on rails 第 8 章,第 3 版.关于菜单下拉的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

登录用户帐户后,我似乎无法显示关于下拉菜单.我没有使用 heroko,而是在我的本地服务器上运行它,但我认为这不会有所作为.

</标题>和我的会话控制器类 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆