使rails模型中的伪属性也可以在javascript中访问

使rails模型中的伪属性也可以在javascript中访问,javascript,ruby-on-rails,ajax,ruby-on-rails-3,json,Javascript,Ruby On Rails,Ajax,Ruby On Rails 3,Json,我有以下rails模型: class Customer < ActiveRecord::Base attr_accessible :firstname, :lastname, :email, :phonenumber, :company_id def name "#{self.lastname} #{self.firstname}" end scope :search_by_name, lambda { |q| (q ? where(

我有以下rails模型:

class Customer < ActiveRecord::Base

   attr_accessible :firstname, :lastname, :email, :phonenumber, :company_id

   def name
      "#{self.lastname} #{self.firstname}"
   end

   scope :search_by_name, lambda { |q|
       (q ? where(["firstname LIKE ? or lastname LIKE ? or (firstname || ' ' || lastname) like ?", '%'+ q + '%', '%'+ q + '%','%'+ q + '%' ])  : {})
   }

end
class客户
我通过ajax检索该模型的JSON对象。 问题是我想访问自动完成文本字段中的name属性(我不想在一个数据库字段中组合firstname和lastname)


现在有人知道如何在javascript中访问name属性,或者如何在json对象中发送name属性了吗?(哪种方法最好)

我想你可以这样做
format.json{render:json=>@customer.to_json(:methods=>:name)}

当控制器呈现json时,您可以指定要发送的内容。通过覆盖发送的默认json,您可以指定名称

大致如下:

render :json => { :customer => { :name => @customer.name, :email => @customer.email } }
或者,如果您希望发送更复杂的json,也可以考虑使用json构建器