使rails模型中的伪属性也可以在javascript中访问
我有以下rails模型:使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(
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构建器