Как можно отобразить данные json двух моделей на странице индекса Rails? - PullRequest
0 голосов
/ 13 декабря 2018

в контроллере

 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, я получаю ошибку, подобную этой

Визуализация и / или перенаправлениебыли вызваны несколько раз в этом действии.Обратите внимание, что вы можете вызывать только перенаправление render или не более одного раза за действие.Также обратите внимание, что ни перенаправление, ни рендеринг не прекращают выполнение действия, поэтому, если вы хотите выйти из действия после перенаправления, вам нужно сделать что-то вроде «redirect_to (...) и return».

pls нужна помощь.........

1 Ответ

0 голосов
/ 13 декабря 2018

Вы определили 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

update: Для действия шоу вы можете передать его как

data = { image: @image.attributes, item: @item.attributes }

@ image & @item здесь объекты

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...