Json en ruby on rails et extjs

Salut,

je début dans ruby on rails avec extjs, j’essaye d’intégré extjs a RoR.
mais j’un probleme avec l’envoiede données en json :

dans le controlller j’ai met: respond_to do |format|
format.html
format.ext_json { render :json =>
Collection.find(:all).to_ext_json(:class => Collection) }
end

et dans la view pour l’affichage dans un grid j’ai met ce code:

<%= ext_datastore_for 'Collection' %> <% javascript_tag do -%> var collection_column_model = new Ext.grid.ColumnModel([ {id: 'id', header: "#", width: 20, dataIndex: 'id'}, {header: 'name', dataIndex: 'collection[name]'}, {header: 'description', dataIndex: 'collection[description]'} ]); <% end -%> <%= ext_grid_for 'Collection', :element => 'collection-grid' %>

Le probelem qui ce pose c’est que j’ai pas les données envoyé par le
controller dans le grig ?

Merci.

Markror2009 Markror2009 wrote:

Salut,

je début dans ruby on rails avec extjs, j’essaye d’intégré extjs a RoR.
mais j’un probleme avec l’envoiede données en json :

dans le controlller j’ai met: respond_to do |format|
format.html
format.ext_json { render :json =>
Collection.find(:all).to_ext_json(:class => Collection) }
end

et dans la view pour l’affichage dans un grid j’ai met ce code:

<%= ext_datastore_for 'Collection' %> <% javascript_tag do -%> var collection_column_model = new Ext.grid.ColumnModel([ {id: 'id', header: "#", width: 20, dataIndex: 'id'}, {header: 'name', dataIndex: 'collection[name]'}, {header: 'description', dataIndex: 'collection[description]'} ]); <% end -%> <%= ext_grid_for 'Collection', :element => 'collection-grid' %>

Le probelem qui ce pose c’est que j’ai pas les données envoyé par le
controller dans le grig ?

Merci.

Il te faut ajouter :count pour coller au json attendu par extjs :

format.ext_json { render :json => find_accounts.to_ext_json(:class =>
:account, :count => Account.count) }

Il te faut ajouter :count pour coller au json attendu par extjs :

format.ext_json { render :json => find_accounts.to_ext_json(:class =>
:account, :count => Account.count) }

j’ai ajouter :count a format.ext_json, main ça na rien données, j’ai
meme vérifier le format json envoyer, je pense que le probleme ce situe
au niveau de la view pour récuperé les données

Merci pour votre aide.

Julien J. wrote:

Il te faut ajouter :count pour coller au json attendu par extjs :

format.ext_json { render :json => find_accounts.to_ext_json(:class =>
:account, :count => Account.count) }

j’ai ajouter :count a format.ext_json, main ça na rien données, j’ai
meme vérifier le format json envoyer, je pense que le probleme ce situe
au niveau de la view pour récuperé les données

Merci pour votre aide.

Sur quelle version de Extjs es-tu? car ext-scaffold (je suppose que
c’est le plugin que tu utilise ici) a été fait pour ext 2.2.

Je t’invite à lire cet article pour faire fonctionner extjs 3.0 avec
Rails :
http://www.extjs.com/blog/2009/09/30/ext-js-on-rails-a-comprehensivetutorial/

Julien J. wrote:

pour extjs je suis avec la version 2.3.0.
et pour ce bout de code j’ai pas utilisé ext-scaffold, je voulais
simplement affiché dans un grid des données envoyer par le controller,
pour pouvoire communiqué les données entre la views et controller avec
json.

Merci pour vos réponses.

Pourrais-tu donner le résultat de tes helpers?
Bref, le javascript généré ici.

Que t’affiche firebug quand tu charges tes données?

Sur quelle version de Extjs es-tu? car ext-scaffold (je suppose que
c’est le plugin que tu utilise ici) a été fait pour ext 2.2.

Je t’invite à lire cet article pour faire fonctionner extjs 3.0 avec
Rails :
http://www.extjs.com/blog/2009/09/30/ext-js-on-rails-a-comprehensivetutorial/

pour extjs je suis avec la version 2.3.0.
et pour ce bout de code j’ai pas utilisé ext-scaffold, je voulais
simplement affiché dans un grid des données envoyer par le controller,
pour pouvoire communiqué les données entre la views et controller avec
json.

Merci pour vos réponses.