如何在rails 3模型中使用.capitalize?

时间:2011-12-16 09:48:14

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

.capitalize!函数似乎在Rails中的模型中不起作用。

有解决方法吗?顺便提一下,我有一个有效的商业案例,可以在模型中使用它。

以下是给我一个错误的代码:

def something
    ...
    str.strip
    str.capitalize!
end

我得到的错误是can't convert nil into String

如果我删除最后一行,一切正常。

编辑:抱歉,我有一个脑屁!修正了它。

2 个答案:

答案 0 :(得分:4)

写作有什么不对 "string".capitalize!

这只是一个ruby String方法,http://www.ruby-doc.org/core-1.9.3/String.html#method-i-capitalize-21

UPD

现在很明显,问题是您尝试更新的字符串是nil

答案 1 :(得分:1)

我得到的错误是无法将nil转换为String

这意味着您的字符串类的str对象为nil,因此您无法执行此操作,因此您可以使用调试器 喜欢 什么东西     ...     str.strip     str.capitalize! 端

并转到终端并尝试查找str是否具有与字符串类或其null或具有其他对象值相关的某些正确值

还有一件事 如果你使用 str.capitalize!

意味着它将检查具有第一个字符大写字母的字符串,并根据您将得到答案