在 Rails 中呈现 json 时语句无效
Statement invalid while rendering json in Rails
我下面的片段用于渲染 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):
虽然我有一个名为 products_id 的列用于外键而不是 product_id。我需要在不更改数据库中的列名的情况下将语句作为 products_id 抛出。
在您的产品模型中,您应该有类似 has_many :items
的东西。此行创建与默认外键 product_id
的关联。要更改外键,您需要将此行更改为 has_many :items, foreign_key: :products_id
.
我下面的片段用于渲染 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):
虽然我有一个名为 products_id 的列用于外键而不是 product_id。我需要在不更改数据库中的列名的情况下将语句作为 products_id 抛出。
在您的产品模型中,您应该有类似 has_many :items
的东西。此行创建与默认外键 product_id
的关联。要更改外键,您需要将此行更改为 has_many :items, foreign_key: :products_id
.