好的,简单的问题。
用户模型中有这种方法:
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
让我这样:
=> " - "
这让我想到了我的问题,为什么这不能在控制台中运行?我在这做错了什么?
我的意思是,我设置了名字,姓氏和电子邮件,如您所见。
为什么方法不显示结果?
让我知道这个问题是否可以更好地表达。
答案 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'