在我的模型中,我使用before_save
来大写标题的第一个字母。我尝试使用像
before_save { self.title[0].upcase! }
根本不影响标题。
只有当我使用equals运算符时才会对标题产生任何影响。
before_save { self.title = self.title.sub(/\S/, &:upcase) }
这种行为有什么特别原因吗?
答案 0 :(得分:0)
您的模型中没有title[0]
的属性访问器。您将title
拥有一个。因此,对title[0]
进行更改不会影响title
。您需要了解您的代码对字符串中的字符进行操作,而不是对字符串本身进行操作。
before_save { self.title.capitalize! }
可能有用。