【发布时间】:2013-06-05 18:20:00
【问题描述】:
我的名字大写有问题。我应该使用 before_save 回调吗? 我在设计生成的模型中添加了 2 列 - first_name 和 last_name。现在怎么办?请帮忙:)
【问题讨论】:
标签: ruby-on-rails devise ruby-on-rails-4
我的名字大写有问题。我应该使用 before_save 回调吗? 我在设计生成的模型中添加了 2 列 - first_name 和 last_name。现在怎么办?请帮忙:)
【问题讨论】:
标签: ruby-on-rails devise ruby-on-rails-4
您不必做任何事情before_save,尽管这是一个选项。我通常做的是在用户模型上创建一个方法来提供这个功能。喜欢:
# models/user.rb
def capitalize_name
"#{first_name.capitalize} #{last_name.capitalize}"
end
然后在任何你想使用它的地方使用:
current_user.capitalize_name
或者任何 current_user 对象是 .capitalize_name
【讨论】:
如果您希望名称在数据库中大写并且不想在视图中的任何位置调用 capitalize_names,则可以使用 before_save。
before_save :capitalize_names
def capitalize_names
first_name.capitalize!
last_name.capitalize!
end
【讨论】: