2014-09-19 18 views
5

Şov sayfasında, sayfanın sayfasındaki sayfanın sayfasındaki özel sayfalar için özel nitelikler eklemeye çalışıyorum. benim denetleyicisi eylem ne var örneğinJbuilder endeksi sayfasına ek özellikler nasıl eklenir

def index 
    #respond_with 
    @publishers = Publisher.paginate(:page => params[:page], :per_page => 30) 
    respond_to do |format| 
     format.json 
    end 
    end 

ve benim index.json.jbuilder i istiyorum neyi

json.array!(@publishers) do |publisher| 
    json.extract! publisher, :id, :name, :url 
    json.categories do 
    publisher.categories.each do |category| 
     json.name category.name 
     json.id category.id 
     json.url url_for(category) 
    end 
    end 
end 

json.current_page @publishers.current_page 
json.total_pages @publishers.totla_entries 

json.array!(@publishers) do |publisher| 
    json.extract! publisher, :id, :name, :url 
    json.categories do 
    publisher.categories.each do |category| 
     json.name category.name 
     json.id category.id 
     json.url url_for(category) 
    end 
    end 
end 

olduğunu böylece index sayfasının json çıktısında görünen current_page ve toplam sayfalara sahip oldum.

anda ne i i bunu gerçekleştirmek nasıl

[{"id":1,"name":"facebook","url":"http://www.facebook.com","categories":{"name":"Art and Crafts","id":1,"url":"/categories/1-art-and-crafts"}}] 

olduğunu. Ayrıca ipaginate

cevap

7

'u kullanıyorum Uzun koşuşturmanın ardından, jbuilder şablonunun nasıl çalıştığına bir göz attığımda json.artını fark ettim! yöntem bu yüzden birkaç tweeks yaptı ve benzeri bir kök düğüm içinde rap bunu çözmüş bloğunun dışında bir şey baskın oldu altında

json.current_page @publishers.current_page 
json.total_pages @publishers.total_entries 
json.total_records Publisher.count 

json.publishers do |publishersElement| 
    publishersElement.array!(@publishers) do |publisher| 
    json.extract! publisher, :id, :name, :url 
    json.categories do 
     publisher.categories.each do |category| 
     json.name category.name 
     json.id category.id 
     json.url url_for(category) 
     end 
    end 
    end 
end 

ve ben var çıkış cevap yazabilmek için bu

{"current_page":1,"total_pages":1,"total_records":1,"publishers":[{"id":1,"name":"Bellanaija","url":"http://www.bellanaija.com","categories":{"name":"Art and Crafts","id":1,"url":"/categories/1-art-and-crafts"}}]} 
+2

sayesinde oldu Bu bana yardımcı oldu. Sanırım iki yönteminiz yanlış. Json.total_pages @ publishers.total_pages' ve json.total_records @ publishers.total_records' kullanıyor olmalısınız. – flyingL123

+0

'@ publishers.total_records', aynı zamanda" total_entries ", 2014'te çalıştığı için de iyidir – Uchenna

İlgili konular