我有以下导轨型号:
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
我通过ajax检索该模型的JSON对象。 问题是我想在自动填充文本字段中访问name属性(我不想在一个数据库字段中组合firstname和lastname)。
现在有人如何在javascript中访问name属性或如何在json对象中发送name属性? (以及哪种方法最好)
答案 0 :(得分:2)
我认为你可以做点什么 format.json {render:json =&gt; @ customer.to_json(:methods =&gt;:name)}
答案 1 :(得分:1)
当您的控制器渲染json时,您可以指定要发送的内容。通过覆盖发送的默认json,您可以指定名称。
有些事情:
render :json => { :customer => { :name => @customer.name, :email => @customer.email } }
如果您打算发送更复杂的json,您可以考虑使用像https://github.com/rails/jbuilder这样的json构建器。