假设我有一个客户端应用程序,它希望显示以下JSON结构。
{'foo': {'bar': '1'}}
我希望将相关的数据库结构保持为:
create_table :foos do |t|
t.string :baar
end
所以我想使用baar
代替bar
作为db列的名称。您如何看待将这些东西混淆为:
alias_attribute :bar, :baar
答案 0 :(得分:0)
渲染的json结构与您使用的数据库结构无关。 attribute_names可以在json render函数中设置(并且可以与底层数据库字段名相同或不同)
从表结构继续:
create_table :foos do |t|
t.string :baar
end
这与foo
模型相对应:
class Foo < ActiveRecord::Base
..
end
foos_controller.rb
内的json渲染函数 - 例如show动作 - 将如下所示:
class FoosController < < ApplicationController
def show
@foo = Foo.find(1)
respond_to do |format|
format.json { render json: { foo: { baar: @foo.bar } } }
end
end
end
此处,json属性 - baar
可以是任何内容,并且链接到bar
表中的foos
字段。