单击登录时在另一个页面中获得相同的样式

时间:2016-02-10 08:46:05

标签: ruby-on-rails-4

我有一个由devise gem.where生成的用户的登录页面我从模型中删除了registerable只登录而不是注册。我还生成了一个admin,它为seed.rb文件中的用户提供了默认登录凭据.I在登录页面做了​​一些CSS工作。接下来,我为用户生成了一个员工页面,以便进一步处理。

我怀疑的是,我在登录页面中所做的样式部分也会出现在员工页面中。我不想这样,所以我在application.html.erb中写了一些条件

<% unless user_signed_in? %>
    <%= render 'layouts/heading' %>
 <% end %>

该方法在application.controller.rb

中定义
def user_signed_in? %>
     render :layouts => 'application'
 end

我通过改变条件尝试了很多,但它仍然显示或显示错误。

1 个答案:

答案 0 :(得分:0)

你说你正在使用&#34;设备gem&#34;,但是既然你在谈论身份验证,我认为你的意思是&#34;设计&#34;?

user_signed_in? method是一个助手,应该由devise自动提供,你应该可以在你的视图中使用它。您不应该在应用程序控制器中定义它。

您可能希望确保&#34; before_filter:authenticate_user!&#34;在相关控制器中(如果您只希望这适用于某些方法,则可以使用&#34;:only&#34;选项。)

很难提供更多信息,因为您还没有说出您遇到的错误。我假设您在&#34; user_signed_in?&#34;的定义上遇到某种语法错误?方法,因为你在行尾有一个无效的&#34;%&gt;&#34;我猜你是从ERB文件中复制并粘贴的。