登录后,Devise on Rails让我登录并且不让我发布

时间:2018-10-12 20:31:32

标签: ruby-on-rails devise

因此,我正在创建一个博客;而且我做到了,因此只有用户可以选择发布。但是,当我注册并单击“新帖子”时,它将尝试使我再次登录。 -即使使用我刚才创建的帐户,也无法让我登录。

我对编程还很陌生,所以您需要我提供的有关此问题的任何信息都请告知我。

谢谢。

<nav class="navbar navbar_default">
    <div class="container-fluid">
      <%= link_to root_path, class: "navbar" do %>
      <%= image_tag "logo.png", height: 50 %>
    <% end %>
      <div class="navbar header">
        <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse" aria-expanded="false">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a href="#" class="navbar-brand">Bella Blog</a>
      </div>
      <div class="collapse navbar-collapse" id="navbar-collapse">
        <ul class="nav navbar-nav navbar-right">
          <li><%= link_to 'Home', root_path %></li>
          <% if admin_signed_in? %>
            <li><%= link_to 'New Post', new_post_path %></li>
            <li><%= link_to 'My Account', edit_admin_registration_path %></li>
            <li><%= link_to 'Logout', destroy_admin_session_path, :method => :delete %></li>
          <% else %>
            <li><%= link_to 'Login', new_admin_session_path %></li>
          <% end %>
        </ul>
      </div>
    </div>
  </nav>

1 个答案:

答案 0 :(得分:1)

那是因为您有两个具有devise_for:users和devise_for:admin的模型 在后置控制器中 更改此行

before_action :authenticate_admin!, except: [:index, :show]

before_action :authenticate_user!, except: [:index, :show]