2013年4月14日日曜日

ruby シングルクオーテーションでつまづいた

htmlの中でxmlパースをrubyで処理させる時につまづいたこと

たんに ' とかシングルクオーテーションでつまづいただけだったんだけど

<% 10.times do |num| %>
  <% events.elements.each('event[num+1]') do |event| %>
   ......
  <%  %>
<% end %>

この num+1 がなんできかねーんだよ!って思ったら
書き方間違えた

<% events.elements.each("event[#{num+1}]") do |event| %>
ダブルクオーテーションにして  #{変数} にしないとだめらしい

そらそうだな


それとコントローラから配列型で変数を渡した時、html側では配列番号をint型にしないとうまくいかない
どういうことかというと

コントローラ側
class HogeController < ApplicationController
  def hoge
    @hage = Array.new(3)
    .......
  end
end

html側
<% 3.times do |num| %>
  <%= @hage["#{num}".to_i] %>
<% end %>

みたいな感じ

0 件のコメント:

コメントを投稿