I'm trying to return an array of dates from my database through my rails controller, which is then used by Javascript while rendering a calendar. It seems to be working when I pull up the rails console for testing but not in the view. Any ideas? My code is below.
Gear has_many line_items
LineItem belongs_to Gear
Javascript Variable
var $myBadDates = new Array("<%= @gear.line_items.rented %>");
View that is being returned.
var $myBadDates = new Array("[]");
Line Item Model (shortened)
class LineItem < ActiveRecord::Base
belongs_to :gear
scope :available, where(:cart_id => nil)
def self.rented
LineItem.available.collect {|x| (x.rentstart..x.rentend).to_a}
end
end
Array from Rails Console
1.9.3-p194 :007 > g.line_items.rented
LineItem Load (0.7ms) SELECT `line_items`.* FROM `line_items` WHERE `line_items`.`gear_id` = 4 AND `line_items`.`cart_id` IS NULL
=> [[Tue, 12 Feb 2013, Wed, 13 Feb 2013, Thu, 14 Feb 2013, Fri, 15 Feb 2013, Sat, 16 Feb 2013, Sun, 17 Feb 2013, Mon, 18 Feb 2013, Tue, 19 Feb 2013, Wed, 20 Feb 2013, Thu, 21 Feb 2013], [Tue, 05 Feb 2013, Wed, 06 Feb 2013, Thu, 07 Feb 2013, Fri, 08 Feb 2013, Sat, 09 Feb 2013, Sun, 10 Feb 2013, Mon, 11 Feb 2013, Tue, 12 Feb 2013, Wed, 13 Feb 2013, Thu, 14 Feb 2013, Fri, 15 Feb 2013]]
UPDATED Working javascript code from accepted answer
var $myBadDates = <%= @gear.line_items.rented.flatten.to_json.html_safe %>;