首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重写的thoughtbot/clearance user.rb不工作

重写的thoughtbot/clearance user.rb不工作
EN

Stack Overflow用户
提问于 2020-11-14 03:38:17
回答 1查看 20关注 0票数 0

我想向我的用户添加一个新的布尔属性: is_student

我的项目有两种类型的用户:学生和教师。如果是学生,is_student应该为真,如果是教员,则is_student为假。

为了添加这个新参数,我用UsersController编写了以下代码:

代码语言:javascript
复制
def user_params
  params[:user].permit(:email, :password, :is_student)
end

我用routes.rb写了这段代码,让它被覆盖:

代码语言:javascript
复制
resources :users, controller: :users, only: :create

如此堆栈溢出示例所示:rails 4 and thoughtbot/clearance - adding fields to the user model

这是我添加新属性“is_student”的user.rb类:

代码语言:javascript
复制
class User < ActiveRecord::Base
  include Clearance::User
    
  @is_student = true
  
  def is_student?
    return @is_student
  end
  
end

现在,我将它设置为true,只是为了查看它是否工作,而目前它不能。我可以看到它不工作,因为当我运行我的rails应用程序时,我将这个作为我的主页:

代码语言:javascript
复制
<% if signed_in? %>
  
  <% if current_user.is_student? %>
    <p> signed in and is student </p>
  <% end %>

  <p> signed in but not student </p>

<% else %>
  <p> not signed in </p>
<% end %>

从这段代码中:我看到了“登录但不是学生”,即使is_student应该默认为true。谁能告诉我我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2020-11-14 04:05:54

在user.rb中,我只需要在我的is_student中将"@“替换为":”?方法。

代码语言:javascript
复制
def is_student?
  return :is_student
end
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64827045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档