期待している動作としては、パーシャル部分をボタン押下によって切り替える処理をしたいと思っています。
しかし、create.js.erbでのJavascript部分が動作していないようです。(
「render('likeideas/like_idea', idea:@idea」部分は正常に動いていますが、パーシャル部分が切り替わりません。)
どこに問題があるのかご教授いただけないでしょうか。
view.html.erb(ideaという変数を使用しています。)
html
1 <td class = "right-ideas" style=" width: 10%" > 2 <div class = "icon"> 3 <% if idea.like_idea_find_by(current_user) %> 4 <%= render partial: 'likeideas/like_idea', locals: { idea: idea} %> 5 <% else %> 6 <%= render partial: 'likeideas/notlike_idea', locals: { idea: idea} %> 7 <% end %> 8 </div> 9 </td>
_like_idea.html.erb(Destroyメソッドを読んでいます。)
html
1<%= link_to likeidea_path(id: Likeidea.find_by(idea_id: idea.id,user_id:current_user), idea_id: idea.id ) , :class => "like-icon",:id => "#{idea.id}", :remote => true, :method => :delete do %> 2 <span class="like-icon"><%= fa_icon "heart" %></span> 3<% end %> 4<%= idea.likeideas.count %>
_notlike_idea.html.erb(createメソッドを読んでいます。)
html
1<%= link_to likeideas_path( idea_id: idea.id ) , :class => "notlike-icon",:id => "#{idea.id}", :remote => true, :method => :post do %> 2 <span class="notlike-icon"><%= fa_icon "heart" %></span> 3<% end %> 4 <%= idea.likeideas.count %>
controller
ruby
1 def create 2 @idea = Idea.find(params[:idea_id]) 3 likeidea = current_user.likeideas.build do |t| 4 t.idea_id = params[:idea_id] 5 end 6 7 if likeidea.save 8 else 9 end 10 11 end 12 def destroy 13 @idea = Idea.find(params[:idea_id]) 14 if Likeidea.delete(params[:id]) 15 else 16 end 17 end
create.js.erb
html
1$("#<%= @idea.id %>").replaceWith("<%= escape_javascript(render('likeideas/like_idea', idea:@idea )) %>");
destroy.js.erb
html
1$("#<%= @idea.id %>").replaceWith("<%= escape_javascript(render('likeideas/notlike_idea', idea:@idea )) %>");
routes
HTML
1 resources :likeideas, :only => [:create, :destroy]
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/08 05:52 編集
2016/04/08 05:53
2016/04/08 05:58 編集
2016/04/08 06:26
2016/04/08 07:39
2016/04/08 07:46
2016/04/08 07:58
2016/04/08 08:55
2016/04/08 09:05
2016/04/08 09:41
2016/04/08 17:29
2016/04/08 17:44
2016/04/08 17:48
2016/04/08 22:17
2016/04/09 02:09
2016/04/10 03:13 編集