Class: Api::ContentsController
- Inherits:
-
BaseController
- Object
- BaseController
- Api::ContentsController
- Defined in:
- app/controllers/alchemy/api/contents_controller.rb
Instance Method Summary collapse
-
#index ⇒ Object
Returns all contents as json object.
-
#show ⇒ Object
Returns a json object for content.
Instance Method Details
#index ⇒ Object
Returns all contents as json object
You can either load all or only these for :element_id param
9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'app/controllers/alchemy/api/contents_controller.rb', line 9 def index # Fix for cancancan not able to merge multiple AR scopes for logged in users if can? :manage, Alchemy::Content @contents = Content.all else @contents = Content.accessible_by(current_ability, :index) end if params[:element_id].present? @contents = @contents.where(element_id: params[:element_id]) end respond_with @contents end |
#show ⇒ Object
Returns a json object for content
You can either load it from :id param or even more useful via passing the element id and the name of the content
$ bin/rake routes
for more infos on how the url looks like.
31 32 33 34 35 36 37 38 39 |
# File 'app/controllers/alchemy/api/contents_controller.rb', line 31 def show if params[:id] @content = Content.find(params[:id]) elsif params[:element_id] && params[:name] @content = Content.find_by!(element_id: params[:element_id], name: params[:name]) end :show, @content respond_with @content end |