Articleに紐づくCommentの作成をしていてajaxを用いてindexの値を取得したいんですがやりたかがわからなく質問させていただきます。
comment_contoroller
でコメントを作成して、@comments
という空配列の中に作成コメントを入れているので
@comment
の中には作成した一つのコメントしか入っていないので取得できないんだと思いますが、
空配列にしないと3つデータがあって、作成した時に[1,2,3]→[1,2,3,1,2,3,4]と同じデータが重複してしまいます。
#comment_controller.rb def create @comment = Comment.new(comment_params) @comment.article_id = session[:top_id] if @comment.save @comments = Article.find(session[:top_id]).comments @comments = [] @comments << @comment render :comment_lists else render :comment_lists end end
##comment_list.html.erb #リロードする前の i には0が入っているので 0+1 でidは id_1 と表示される <% @comments.each_with_index do |comment,i| %> <div class="comment_box"> <div class = "id" id = "id_<%= i+1 %>" ><%= i+1 %></div> <%= comment.name %> </div> </div> <% end %>
#comment_lists_js.erb // 内容消してる $('textarea').val(''); $('input').val(''); $('.comment_lists').append('<%= j(render 'comment_lists') %>' );
回答2件
あなたの回答
tips
プレビュー