2012-01-11 4 views
1

을 나는이 같은 모델에서 설정 한 사용자 정의 필드와 사용자 지정 쿼리를 수행루비 사용자 지정 쿼리 JSON 직렬화 오류 레일 :하면 ArgumentError (1 인자의 잘못된 번호 (0)

class Book < ActiveRecord::Base 
    has_one :warehouseRecord 
    def self.customList() 
    Book. 
     select("books.id, books.name, warehouseRecord.count").limit(10). 
     joins(:warehouseRecord) 
    end 
end 

때 JSON으로 직렬화 결과를하거나 보기 HTML로 출력 카운트 값에 시도

@books = Book.customList() 

respond_to do |format| 
    format.html 
    format.json { render :json => @books } 
end 

내가 얻을 오류 :.. 1 (인수 잘못된 번호 (0)

사람이 그것을 해결하는 방법, 도와주세요 알고있는 경우

답변

0

내가 및 localY 필드에 접속을해야 사용이 포함(), (조인의 insted)와 쓰기 사용자 정의 필드 선택 : JSON 표현에 대한 http://guides.rubyonrails.org/active_record_querying.html

class Book < ActiveRecord::Base 
    has_one :warehouseRecord 
    def self.customList() 
    Book.includes(:warehouseRecord) 
    end 
end 

추가 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 %>] 
관련 문제