Ruby on rails 在ruby中连接字段名

Ruby on rails 在ruby中连接字段名,ruby-on-rails,ruby,ruby-on-rails-3,ruby-on-rails-4,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Ruby On Rails 4,Activerecord,你能告诉我如何更改字段名吗 首先,我查询一些如下数据: u = User.find_by_id(111) u.id,u.foo,u.bar 它将提供如下数据: u = User.find_by_id(111) u.id,u.foo,u.bar 但是,我想将结果更改为:名称是u.foo+u.bar的串联 u.id,u.name 您可以在用户模型中定义方法,如下所示: class User < ActiveRecord::Base def name self.foo +

你能告诉我如何更改字段名吗

首先,我查询一些如下数据:

u = User.find_by_id(111)
u.id,u.foo,u.bar
它将提供如下数据:

u = User.find_by_id(111)
u.id,u.foo,u.bar
但是,我想将结果更改为:名称是u.foo+u.bar的串联

u.id,u.name

您可以在用户模型中定义方法,如下所示:

class User < ActiveRecord::Base
  def name
    self.foo + ' ' + self.bar
  end
end
当连接具有不同数据类型的两个字段时,需要使用

例如,添加一个整数和带+的字符串将产生错误

所以最好这样使用它

class User < ActiveRecord::Base
  def name
    "#{foo} #{bar}"
  end
end

希望细节有帮助。

谢谢!这是工作。但我想知道是否有办法从sql端更改字段名?就像选择u.id,u.foo+u.bar作为用户uYou的名称一样,可以使用find_by_sql,但会失去活动_记录的好处。foo是什么?它将只打印bar是的,我知道了,但是名称将有一个意外的空格!