在控制器中
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
在模型中
item.rb
has_many :images, dependent: :destroy
image.rb
belongs_to :item
当我要渲染json数据时,出现这样的错误
此操作多次调用了渲染和/或重定向。请注意,您只能调用渲染或重定向,每个操作最多只能调用一次。还要注意,重定向和渲染都不会终止操作的执行,因此,如果要在重定向后退出操作,则需要执行“ redirect_to(...)并返回”之类的操作。
请帮助.........
答案 0 :(得分:1)
您已定义ItemsController
来同时提供images
和items
这是不合适的,因此,如果您使用关联进行此操作将更加相关,但是需要在视图侧进行更改。
如果您以以下格式传递数据,这将是一种很好的格式,
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
更新:对于表演动作,您可以将其传递为
data = { image: @image.attributes, item: @item.attributes }
@image和@item是这里的对象