配列のオブジェクトのリストがあると仮定し、これらの各アイテムにIDを持たせたいとします。data-id="<%= item.id%>"
このデータIDをJavaScrptに渡すにはどうすればよいですかアイテムIDのアラートメッセージが表示されます。HTML5 + JavaScriptをRailsで使用する方法
0
A
答えて
0
私はあなたが求めている正確にわからないんだけど、あなたは各IDの配列と表示アラートを反復処理したい場合にはこのようなものになりますのmikeycgtoのポイント@対処するために
# assuming @items is and array of objects
<% for item in @items %>
<script>alert('<%= item.id %>')</script>
<% end %>
をアラートのトンあなただけ一度にすべてのidので警告を持っていると思った場合、あなたができる:
<script>alert('<%= @items.collect(&:id) %>')</script>
EDIT: だから、一緒にIDを渡すと、あなたの内部のIDを使用したい場合あなたのjsの部分的な項目、あなたはコレクションとレンダリング部分を使用することができます。
render :partial => 'item', :collection => @items
これで、「items/_item.erb」がレンダリングされ、ローカル変数adが表示されます。 partial_name_counterの形式の名前を持つテンプレートに対して、繰り返しカウンタが自動的に使用可能になります。上記の例の場合、テンプレートはitem_counterになります。
だからあなた_item.erb部分的に、あなたがこのように項目にアクセスできます。
<div id="item_<%= #{item.id} %>" class="item">
<script>document.write('this is my item id written from JS: <%= item.id %>');</script>
</div>
これは、クラスの項目に「item_」の形でdivのIDを持つブロックをレンダリングするだろう、とJSを書きますブロック内のIDを出してください。あなたは、あなたが必要とすることを行うためにjsを再利用することができます。
0
あなたが実際にデータを使用することができるようにしたい場合は、JSON
How to do Ruby object serialization using JSON
としてそれをシリアル化する必要があるそれからちょうどアラートをたくさんすることができ、可変
<script type="text/javascript">
var json = <%= json_serialized_object %>
</script>
に渡しますおそらくconsole.logは良いです;) – mikeycgto
うん、それは警告のトンであるかもしれませんが、質問にちょうど従ってください。笑 –
あまりにも多くの警告があまりにも良い – Uchenna