2012-02-15 41 views
1

我有以下的钢轨型号:从轨道模型制作伪属性也是在JavaScript访问

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对象。 问题是我想访问我的自动填充文本字段中的名称属性(我不想在一个数据库字段中结合名字和姓氏)。

现在有人如何访问JavaScript中的name属性或如何发送json对象中的name属性? (和哪种方法最好)

回答

1

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

线沿线的东西:

render :json => { :customer => { :name => @customer.name, :email => @customer.email } } 

或者你可以看看,如果你打算有发送更加复杂的JSON使用JSON建设者像https://github.com/rails/jbuilder

2

我认为你可以做这样 format.json东西{渲染:JSON => @ customer.to_json(:方法=>:名称)}