用户模型中的简单方法 - 尝试在控制台中调用它

时间:2014-02-13 05:32:52

标签: ruby-on-rails ruby rails-models rails-console

好的,简单的问题。

用户模型中有这种方法:

def name_email
   "#{first_name} #{last_name} - #{email}"
 end

好吧,由于它没有自己附加到方法的事实,人们可以推断它是一个实例方法,对吧?

所以,我打开控制台,尝试像这样初始化它:

 LaLaLa = User.new

然后我尝试通过首先设置名字来设置此方法,如下所示:

Jesse = LaLaLa.first_name

让我这样:

=> nil

然后我尝试设置姓氏:

Smith = LaLaLa.last_name

再次让我这样:

=> nil

然后我尝试设置电子邮件:

FakeEmail = LaLaLa.email 

让我这样:

=> ""

然后我尝试通过调用这样的方法获得名字,姓氏和电子邮件:

LaLaLa.name_email

让我这样:

=> "  - "

这让我想到了我的问题,为什么这不能在控制台中运行?我在这做错了什么?

我的意思是,我设置了名字,姓氏和电子邮件,如您所见。

为什么方法不显示结果?

让我知道这个问题是否可以更好地表达。

2 个答案:

答案 0 :(得分:2)

你看过你写的是什么吗?

你得到的是因为你给一个未设定的变量给了一个零值......

Jesse是一个未设置的变量,你在LaLaLa.first_name给它它的价值......

你应该做

LaLaLa.first_name = "Jesse"

等...

并在最后

LaLaLa.save

注意:在ruby中,通常的做法是给第一个字母为非首都的实例变量名称。大写第一个字母意味着类...所以,为了正确,做:

lalala=User.new

答案 1 :(得分:0)

你应该像这样设置名称

LaLaLa.first_name = 'Jesse'
LaLaLa.last_name = 'Smith'
LaLaLa.email = 'FakeEmail'