1

我的模型:

def full_name
  "#{first_name} #{middle_name} #{last_name} #{suffix_name}".mb_chars.upcase.squeeze(' ').strip
end

我的 rabl 模板:

collection @users
attributes :id, :full_name

这是插入一个名为wrapped_string

[{"user":{"id":73,"full_name":{"wrapped_string":"FOO BAR"}}}]

但我需要类似的东西:

[{"user":{"id":73,"full_name":"FOO BAR"}}]

如果我不使用mb_chars效果很好,但我必须使用它。我应该怎么办?

4

1 回答 1

1

您需要添加to_s以再次将 MultiByte::Chars 转换为字符串:

def full_name
  "#{first_name} #{middle_name} #{last_name} #{suffix_name}".mb_chars.upcase.squeeze(' ').strip.to_s
end
于 2013-01-31T18:33:56.553 回答