Ich habe versucht, jbuilder benutzerdefinierte Attribute hinzuzufügen, so wie ich es in der show-Seite meiner Indexseite für die Seitennummerierung mit paginate und ohne die benutzerdefinierten Attribute anzeigen lasse.Wie man zusätzliche Attribute zur Jbuilder-Indexseite hinzufügt
zum Beispiel, was ich in meinem Controller-Aktion haben, ist
def index
#respond_with
@publishers = Publisher.paginate(:page => params[:page], :per_page => 30)
respond_to do |format|
format.json
end
end
und mein index.json.jbuilder ist
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
, was ich möchte ist
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
so dass ich die current_page und die Gesamtseiten in der json-Ausgabe der Indexseite angezeigt habe.
zur Zeit, was ich habe, ist
[{"id":1,"name":"facebook","url":"http://www.facebook.com","categories":{"name":"Art and Crafts","id":1,"url":"/categories/1-art-and-crafts"}}]
, wie ich dies erreicht werden kann. Ich benutze auch wepaginate
Vielen Dank für Ihre Antwort veröffentlichen Das hat mir geholfen. Ich denke, zwei deiner Methoden sind falsch. Sie sollten 'json.total_pages @ publishers.total_pages' und' json.total_records @ publishers.total_records' verwenden. – flyingL123
'@ publishers.total_records' ist in Ordnung, also auch' total_entries' verwendet, um wie 2014 zu arbeiten – Uchenna