在轨道上的ruby中的布尔值

One*_*ree 2 haml boolean ruby-on-rails

我在我的声明中声明了一些简单的布尔字段 model/user.rb

class User < ActiveRecord::Base
attr_accessible :name, :has_car

def  init(age)
 if age > 18
   has_car = true
 else
   has_car = false
 end
   has_car
end
...
Run Code Online (Sandbox Code Playgroud)

然后在我的视图(.html.haml文件)中,我试图打印该字段:

...
%li
 - if this_user.has_car
   = "This person has a car"
 - else
   = "This person does NOT have a car"
...
Run Code Online (Sandbox Code Playgroud)

出于某种原因,this_user.has_car始终评估为false.谁能告诉我这里做错了什么?(我是Ruby/Rails的新手)

谢谢

jvn*_*ill 9

您可以定义has_car?在用户模型中调用的方法

# user.rb
def has_car?
  age > 18
end
Run Code Online (Sandbox Code Playgroud)

然后this_user.has_car?在你的视图中使用.