Неверный оператор при рендеринге json в Rails - PullRequest
0 голосов
/ 10 октября 2018

для моего фрагмента ниже для рендеринга json

def show
   @product = Product.find(params[:id])
      render json: @product.to_json(:include => { :items => { :only => [:id, 
:description] }}) 
end

При рендеринге json for имеет много атрибутов модели, я получаю недопустимое утверждение следующим образом:

(Mysql2::Error: Unknown column 'items.product_id' in 'where clause': SELECT `items`.* FROM `items` WHERE `items`.`product_id` = 1):

В то время как у меня естьстолбец с именем products_id для внешнего ключа вместо product_id.Мне нужно бросить заявление как products_id без изменения имени столбца в базе данных.

1 Ответ

0 голосов
/ 10 октября 2018

В вашей модели продукта должно быть что-то вроде has_many :items.Эта строка создает связь с внешним ключом по умолчанию product_id.Для изменения внешнего ключа необходимо изменить эту строку на has_many :items, foreign_key: :products_id.

...