, haml (, :javascript). ruby, - #{} Ruby.
, - - :
:javascript
var names = new Array;
User.all.each {|u| js << "names.push(#{u})\n" }
js}
, - . - , ( haml) , .
javascript, javascript - , . :
def js_array(name, array)
js = "var #{name} = new Array();\n"
array.each do |i|
js << "#{name}.push(#{i})\n"
end
js
end
( javascript:
def js_array(name, array)
js = "var #{name} = ["
js << array.collect{|i| "\"#{i}\""}.join(",")
js << "]"
js
end
.)
, ? Sinatra , 'helpers. , , :
helpers do
def js_array(name, array)
js = "var #{name} = new Array();\n"
array.each do |i|
js << "#{name}.push(#{i})\n"
end
js
end
end
:javascript
#{js_array("names", User.all)}
haml javascript. , #{}, ruby , . :javascript <script> <![CDATA[, javascript, .
: User.all, activerecord - , , , . - :
:javascript
#{js_array("names", User.all.collect(&:pretty_name)}
( pretty_name - User, ), , , , .