J'ai un link_to_remote pour rendre l'action d'édition d'un objet. Mais tout ce qu'il fait est de mettre à jour l'élément Dom avec cette réponseRails: la mise à jour link_to_remote ne rend pas la vue
try { } catch (e) { alert('RJS error:\n\n' + e.toString()); alert(''); throw e }
Mon lien ressemble à ceci:
= link_to_remote t("txt.edit"), :update => dom_id(comment), :url => edit_comment_path(comment.id)
Mon action d'édition dans le contrôleur de commentaire:
# GET /comments/1/edit
def edit
@comment = Comment.find(params[:id])
respond_to do |format|
format.html
format.js { render :action => "edit" }
end
end
La demande semble pour être ok, selon le journal:
Processing CommentsController#edit (for 127.0.0.1 at 2009-04-08 18:55:36) [GET]
Session ID: 1d4b9b3d3319d5cd556d00d2e053b651
Parameters: {"authenticity_token"=>"5d70f9e5beded361ee7e87ee591512411e8f3eec", "id"=>"18"}
User Columns (2.0ms) SHOW FIELDS FROM `users`
User Load (0.5ms) SELECT * FROM `users` WHERE (`users`.`id` = 1) LIMIT 1
Account Columns (1.6ms) SHOW FIELDS FROM `accounts`
Account Load (0.2ms) SELECT * FROM `accounts` WHERE (`accounts`.`subdomain` = 'xxx') LIMIT 1
Comment Columns (1.7ms) SHOW FIELDS FROM `comments`
Comment Load (0.6ms) SELECT * FROM `comments` WHERE (`comments`.`id` = 18)
Rendering comments/edit
Completed in 30818ms (View: 2, DB: 7) | 200 OK [http://xx.xxx.rails/comments/18/edit?authenticity_token=5d70f9e5beded361ee7e87ee591512411e8f3eec]
Qu'est-ce que je fais mal? Merci pour l'aide!
MISE À JOUR: Cela fonctionne d'ailleurs avec un modèle RJS - c'est ainsi que je l'ai résolu maintenant. Mais je préfère toujours une solution où une vue est rendue. Sinon, je dois créer un partiel juste à cet effet (je ne peux pas rendre des vues avec des mises à jour de page rjs - au moins, je ne sais pas comment).
I est un modèle haml, alors devrais-je essayer: render: action => "edit.haml"? –
Utilisez simplement le nom complet du modèle. Habituellement, il devrait être 'action.mime.renderer', alors comme 'edit.html.haml' devrait être à la fois le nom du fichier et ce que vous envoyez à 'rendre' – AdminMyServer