You might be happier using Ruby to map your data to JSON, and then feeding that to your JavaScript, rather than using Ruby to dynamically generate JavaScript.
For example, if you wanted to map the data directly in the view, could do so like this. - mapped_faculties = @faculties.inject({}) { |a, fac| a[fac.id] = {} } :javascript var departments = #{mapped_faculties.to_json}; In general, I would recommend doing these types of transformations in the controller rather than in the view itself, but the principle is the same. On Tue, May 21, 2013 at 11:29 AM, Duncan Beevers <dun...@dweebd.com> wrote: > You're in a javascript filter. The code that you think is iterating > through @faculties is actually just being inlined as javascript into a > script tag. > > > On Tue, May 21, 2013 at 11:22 AM, Les Nightingill > <codehac...@comcast.net>wrote: > >> I have this in a rails view file: >> >> ... >> :javascript >> var departments = new Object() >> - @faculties.each do |fac| >> departments['#{ fac.id }']= new Object() >> >> And the error message I get is: >> >> undefined local variable or method `fac' for >> #<#<Class:0x00000104e1b3d8>:0x000001074bb420> >> >> I'm clearly missing something very basic. Can anyone see what the problem >> is, please. Thanks in advance. >> >> Les >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Haml" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to haml+unsubscr...@googlegroups.com. >> To post to this group, send email to haml@googlegroups.com. >> Visit this group at http://groups.google.com/group/haml?hl=en. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- You received this message because you are subscribed to the Google Groups "Haml" group. To unsubscribe from this group and stop receiving emails from it, send an email to haml+unsubscr...@googlegroups.com. To post to this group, send email to haml@googlegroups.com. Visit this group at http://groups.google.com/group/haml?hl=en. For more options, visit https://groups.google.com/groups/opt_out.