Je souhaite développer une fonctionnalité ajax pour commenter les publications de mon site Web.Rails essaie d'exécuter l'action de mise à jour au lieu de celle que je veux
Je l'ai déjà fait, mais je ne sais pas pourquoi j'ai des problèmes cette fois. Rails exécute l'action Update depuis posts_controller, au lieu de l'action appelée "save_comment".
Ceci est la ligne pertinente de mon dossier de routes:
map.connect "/posts/save_comment", :controller => 'posts', :action => 'save_comment'
C'est le code de vue:
<%= javascript_include_tag "prototype" %>
<% if logged_in? %>
<% remote_form_for :post, PostComment.new, :url => {:action => 'save_comment',:post_id=>inside_list.id}, :html => { :method => :put} do |f| %>
<p>
<%= f.label 'Comment' %><br />
<%= f.text_area :comment, :style=>'height:100px;' %>
</p>
<p>
<%= f.submit 'Publish' %>
</p>
<% end %>
<% end %>
L'action save_comment ressemble à ceci:
def save_comment
comment = PostComment.new
comment.user_id = current_user.id
comment.post_id = params[:post_id]
comment.comment = params[:post][:comment]
comment.save
post = Post.find(params[:post_id])
render :update do |page|
page.replace_html 'dComments', :partial => 'post_comments/inside_list', :object => post
end
end
BTW: Existe-t-il un moyen plus simple de le faire?
Qu'est-ce que l'apparence d'action 'save_comment' comme? –
J'ai édité le poste avec cette info –