如何让我的控制器在json响应中仅返回对象的2个属性?

时间:2013-03-06 08:44:13

标签: ruby-on-rails json ruby-on-rails-3

所以我想在我的:id, :name回复中找回@neighborhoodjson对象的 def autocomplete_neighborhood_name @neighborhood = Neighborhood.select("id, name").where("name LIKE ?", "#{params[:name]}%").order(:name).limit(10) respond_to do |format| format.json { @neighborhood :only => [:id, :name]} end end 属性。

这是我在我的控制器中的动作:

format.json...

我在format.json行收到语法错误。

我如何完成我想要的工作?

感谢。

修改1

我的真正目标是尝试重构此代码,使用def autocomplete_neighborhood_name respond_with( Neighborhood. select("id, name"). where("name LIKE ?", "#{params[:name]}%"). order(:name). limit(10). as_json(:only => [:id, :name])) end 并使用Rails 3.2.x的新方法:

{{1}}

如果您对我如何做得更好有任何其他建议,我将非常感谢您的反馈。

1 个答案:

答案 0 :(得分:2)

试试这个:

format.json { render json: @neighborhood , :only => [:id, :name] }