我使用的是rails 4.0.0和ruby 2.0。
我的模型Country有3个属性:id,name:string和flag:string。
控制器:
...
respond_to :html, :json
def index
@countries = Country.all
respond_whit @countries.as_json(only: [:id, :name])
end
因此,当我在浏览器中访问countries.json时,它会显示所有属性,而只显示id和name。我已经尝试重新定义方法as_json,如下所示:
def as_json(options = nil)
{id: id, text: name}
end
但也没有工作。
奇怪的是,当我在控制台中运行as_json时,它的工作非常完美。
缺少什么工作?
答案 0 :(得分:0)
您可以使用jbuilder来显示特定属性
json.companies @companies.map { | company |
{
id: company.id,
text: company.name
}
}
答案 1 :(得分:0)
怎么样
respond_with @countries, only: [:id, :name]