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

Make Pseudo-attribute from rails model also in javascript accessible

本文关键字:也可以 javascript 访问 属性 rails 模型      更新时间:2023-09-26

我有以下轨道型号:

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属性(我不想在一个数据库字段中组合名字和姓氏)。

现在有人是如何访问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构建器https://github.com/rails/jbuilder如果您打算发送更复杂的json。

相关文章: