【发布时间】:2011-07-17 22:49:16
【问题描述】:
我有一个 API 控制器,如下所示:
def index
respond_to do |format|
format.json { render :json => @groups.to_json(:only => [:id, :name, :description, :created_at, :updated_at])}
end
end
def show
respond_to do |format|
format.json { render :json => @group.to_json(:only => [:id, :name, :description, :created_at, :updated_at]) }
end
end
# @todo add store to item
def create
if @group.save
render :json => @group.to_json(:only => [:id, :name, :description, :created_at, :updated_at])
else
render :status => 406
end
end
def update
if @group.update_attributes(params[:group])
render :json => @group.to_json(:only => [:id, :name, :description, :created_at, :updated_at])
else
render :status => 406
end
end
def destroy
@group.destroy
render :text => ""
end
如您所见,我经常重复自己。我很想通过模型使这些(并且只有这些)属性可用,但找不到合适的解决方案。有什么东西可以保护属性不被大量写入吗?或者我可能是指大众阅读?
如下面的 cmets 中所述,我想要一个具有 name 和 i_am_private 属性的模型。当我将该模型渲染为 json - render :json => @model - 我只想显示 name。
红宝石 1.8.7 导轨 3
【问题讨论】:
-
看起来确实如此。这么晚了,我会尽量不要再问问题了。
标签: ruby-on-rails ruby api ruby-on-rails-3