よくあることですが、これはよくある質問であり、それを行う方法について多くのアドバイスがありますが、それは私にとってはうまくいかず、何が問題なのか理解できません。あなたは<%を使用する必要がありますJavaScriptでRubyのコードを使用したい場合は指示に従えば動的idを持つオブジェクトを選択したいときに、coffeescript jqueryでrubyコードを使用するには?
index.html.slim
- books.each do |book|
.row class = "review_form" id = book.id
.panel
== render 'reviews/form', review: review, book: book
book.js.coffee
$('.row.review_form').hide()
$('#new_review_button').on "click", ->
$('.row.review_form#<%= book.id %>').show()
$('#new_review_button').hide()
$('#cancel_review').on "click", ->
$(".row.review_form#<%= book.id %>").hide()
$('#new_review_button').show()
=ルビーコード%>私はここにいるよ$( '。row.review_form#<%= book.id%> ').show()しかし何も起こりません。それは私が<%=を書くときのように、それは1つの文字列に変化し、jsはそれがルビコードを持つセレクタであると理解していない。私は間違って何をしていますか?助けてください、私は完全に混乱しています! > <
ここでは正確に何がエラーですか? –
@Sergioエラーはありません。何も起こりません。私がコンソールを開いてjsを見ると$( "。row.review_form#<%= book.id%>")だけがあります。 $( "。row.review_form#1")ではありません。例えば。 rubymineは、この行をハイライトします。文字列であってセレクタではなく、<%= – Jakov
と書き始めます。次にコーヒーファイルをレンダリングしますか? 'book'は' each'ブロック内にのみ存在することを覚えておいてください。 –