noa*_*ark 2 ruby api ruby-on-rails ruby-on-rails-3
我有一个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
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正在重复我的自我.我希望通过模型提供这些(并且只有这些)属性,但找不到合适的解决方案.是否有什么可以保护大众写作的属性?或者我可能是指大众阅读?
如下面的评论中所述,我想要一个具有属性的模型,name和i_am_private.当我将该模型渲染为json时render :json => @model- 我只想name出现.
Ruby 1.8.7 Rails 3
Bur*_*jaM 14
如何在组模型中覆盖as_json方法?
class Group < ActiveRecord:Base
...
def as_json(options={})
{
:id => id,
:name => name,
:description => description,
:created_at => created_at,
:updated_at => updated_at
}
end
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2916 次 |
| 最近记录: |