Reputation: 308
in controller
class V1::ItemsController < ApplicationController
def index
images = Image.all
render json: {status: 'SUCCESS', message:'Loaded images',
data:images},status: :ok
items = Item.all
render json: {status: 'SUCCESS', message:'Loaded items',
data:items},status: :ok
end
end
in model
item.rb
has_many :images, dependent: :destroy
image.rb
belongs_to :item
when i am going to render json data i am getting error like this
Render and/or redirect were called multiple times in this action. Please note that you may only call render OR redirect, and at most once per action. Also note that neither redirect nor render terminate execution of the action, so if you want to exit an action after redirecting, you need to do something like "redirect_to(...) and return".
pls need help.........
Upvotes: 1
Views: 322
Reputation: 5552
You have defined ItemsController
to provide both images
& items
which is not proper, so it will be more relevant if you do it using association but will need changes at view side.
It will be real good format if you pass your data in following format,
def index
data = { images: Image.all.as_json, items: Item.all.as_json }
render json: { status: 'SUCCESS', message: 'Loaded images & items', data: data, status: :ok }
end
update: For show action, you can pass it as,
data = { image: @image.attributes, item: @item.attributes }
@image & @item are objects here
Upvotes: 1