Ruby on rails RubyonRails自定义查询json序列化错误:ArgumentError(参数数目错误(0表示1)
我使用模型中设置的自定义字段执行自定义查询,如下所示:Ruby on rails RubyonRails自定义查询json序列化错误:ArgumentError(参数数目错误(0表示1),ruby-on-rails,activerecord,Ruby On Rails,Activerecord,我使用模型中设置的自定义字段执行自定义查询,如下所示: class Book < ActiveRecord::Base has_one :warehouseRecord def self.customList() Book. select("books.id, books.name, warehouseRecord.count").limit(10). joins(:warehouseRecord) end end 我得到错误:(参数数
class Book < ActiveRecord::Base
has_one :warehouseRecord
def self.customList()
Book.
select("books.id, books.name, warehouseRecord.count").limit(10).
joins(:warehouseRecord)
end
end
我得到错误:(参数数量错误(0代表1)
如果有人知道如何修复它,请提供帮助。我应该在本地访问字段并使用includes(),而不是joins(),并编写自定义选择字段:
classbook
对于json表示,添加customList.json.erb,如:
<% @books.each_with_index do |book, index| %>
{
"id" : "<%= book.id %>",
"name" : "<%= book.name %>",
"count" : "<%= book.warehouseRecord.count %>"
}<% unless index == @books.count - 1%>,<% end %>
<% end %>]
{
“id”:“,
“名称”:“,
“计数”:”
},
]
class Book < ActiveRecord::Base
has_one :warehouseRecord
def self.customList()
Book.includes(:warehouseRecord)
end
end
<% @books.each_with_index do |book, index| %>
{
"id" : "<%= book.id %>",
"name" : "<%= book.name %>",
"count" : "<%= book.warehouseRecord.count %>"
}<% unless index == @books.count - 1%>,<% end %>
<% end %>]