前提・実現したいこと
コメント機能の非同期通信化を実装中
jQueryの、json形式で取ってきたデータをビューのhamlにappendしたい
jsファイルからappendする時に、jsファイル内でappendしたい箇所のHamlをHTMLに書き換えたい。
発生している問題・エラーメッセージ
if文を書き変えている所がどうしてもうまく行かずに
そのままif文の文章がそのままビューに表示される
該当のソースコード
以下、買い替え箇所のjsファイルのコードと
ビューファイルのhamlコード
haml
1 2.PostInfo__yourComments-wrapper 3 = link_to (image_tag comment.user.image.url, class: "PostInfo__yourComments--image CommentUserShow-image"), user_path(comment.user) 4 = link_to user_path(comment.user), class: "PostInfo__yourComments--name CommentUserShow-name" do 5 = comment.user.name 6 .PostInfo__yourComments--contents 7 - if current_user.id == comment.user.id 8 %span.OwnComment 9 = comment.content 10 - else 11 %span 12 = comment.content
js
1 2function buildHTML(comment){ 3 let html = 4 `<div class="PostInfo__yourComments-wrapper"> 5 <a href="/users/${comment.user_id}"><img src="${comment.image}" class="PostInfo__yourComments--image CommentUserShow-image"></a> 6 <a class="PostInfo__yourComments--name CommentUserShow-name", href="/users/${comment.user_id}">${comment.user_name}</a> 7 <div class="PostInfo__yourComments--contents"> 8 if (current_user.id === ${comment.user_id}) { 9 <span class="OwnComment">${comment.content}</span> 10 } else { 11 <span>${comment.content}</span> 12 } 13 </div> 14 </div>` 15 return html 16 } 17 18
試したこと
if分の文章がそのまま表示されているということは、条件式の書き方の問題ではないと予想。
<%%>を前後に付けてみてもダメでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/06/21 10:47 編集
2020/06/21 11:48
2020/06/22 01:14