以下我的代码段用于呈现json
def show
@product = Product.find(params[:id])
render json: @product.to_json(:include => { :items => { :only => [:id,
:description] }})
end
虽然渲染json具有许多属性模型,但我得到的无效语句如下:
(Mysql2::Error: Unknown column 'items.product_id' in 'where clause': SELECT `items`.* FROM `items` WHERE `items`.`product_id` = 1):
虽然我有一列称为product_id的外键而不是product_id。我需要在不更改数据库中列名称的情况下将语句作为products_id抛出。
答案 0 :(得分:1)
在您的产品模型中,您应该有类似has_many :items
的名称。此行创建一个与默认外键product_id
的关联。要更改外键,您需要将此行更改为has_many :items, foreign_key: :products_id
。