= YeqsJquery This project rocks and uses MIT-LICENSE. == Installation Install yeqs_jquery as a gem and get it work with your rails 3 applications. gem install yeqs_jquery Add yeqs_jquery to your Gemfile. gem 'yeqs_jquery' Generate the assets of jquery related components. rails g yeqs:jquery core rails g yeqs:jquery ui rails g yeqs:jquery tools rails g yeqs:jquery rails rails g yeqs:jquery highcharts == Usage Jquery is the basic component of all the jquery related components. You should include jquery component in your views at first. <%= include_jquery %> this will produce html like: <script type="text/javascript" src="/components/jquery/jquery-1.4.2.min.js"></script> In order to use jqueryui, you should include jqueryui scripts and stylesheets in your views. <%= include_jqueryui %> this will produce html like: <link type="text/css" media="screen" ref="stylesheet" href="/components/jqueryui/css/smoothness/jquery-ui-1.8.2.custom.css" /> <script type="text/javascript" src="/components/jqueryui/js/jquery-ui-1.8.2.custom.min.js"></script> In order to use jquerytools, you should include jquerytools scripts in your views. <%= include_jquerytools %> this will produce html like: <script type="text/javascript" src="/components/jquerytools/jquery.tools.min.js"></script> In order to use jquery rails support, you should include jquery rails scripts in your views. <%= include_jqueryrails %> this will produce html like: <script type="text/javascript" src="/components/jqueryrails/rails.js"></script> In order to use highcharts, you should include highcharts scripts in your views. <%= include_jqueryhighcharts %> this will produce html like: <script type="text/javascript" src="/components/jqueryhighcharts/js/highcharts.js"></script> Usage in Controller: @h = Yeqs::Jquery::Highchart.new('graph') do |f| f.series('John', [3, 20, 3, 5, 4, 10, 12 ,3, 5,6,7,7,80,9,9]) f.series('Jane', [1, 3, 4, 3, 3, 5, 4,-46,7,8,8,9,9,0,0,9] ) end Without overriding entire option , (only change a specific option index): @h = Yeqs::Jquery::Highchart.new('graph') do |f| ..... f.options[:chart][:defaultSeriesType] = "area" f.options[:chart][:inverted] = true f.options[:legend][:layout] = "horizontal" f.options[:x_axis][:categories] = ["uno" ,"dos" , "tres" , "cuatro"] ...... Overriding entire option: @h = Yeqs::Jquery::Highchart.new('graph') do |f| ..... f.x_axis(:categories => @days.reverse! , :labels=>{:rotation=>-45 , :align => 'right'}) f.chart({:defaultSeriesType=>"spline" , :renderTo => "myRenderArea" , :inverted => true}) ..... Usage in view: <%= highchart("my_id", @h) %> Passing formatting options in the view to the helper block , because all the helper options declared in the controller are converted in strict/valid json (quoted key); so we need to extend the json object with some js. <% highchart("my_id", @h) do |c| %> <%= "options.tooltip.formatter = function() { return '<b>HEY!!!'+ this.series.name +'</b><br/>'+ this.x +': '+ this.y +' units';}" %> <%= "options.xAxis.labels.formatter = function() { return 'ho';}" %> <%= "options.yAxis.labels.formatter = function() { return 'hey';}" %> <%end %> Option reference: http://www.highcharts.com/ref/