custom js in rails project

Hello, I have a rails project with one controller and one action, as simple as posible. And I'm trying to put some custom css and js to my own index.html.erb (not public/index.html.erb), I inluded this on the layout file:

layout file:

<!DOCTYPE html> <html> <head>   <title>Volei</title>   <%= stylesheet_link_tag "application", :media => "all" %>   <%= javascript_include_tag 'foundation.min.js' %>   <%= javascript_include_tag 'app.js' %>   <%= javascript_include_tag 'jquery.foundation.navigation.js' %>   <%= javascript_include_tag 'modernizr.foundation.js' %>   <%= javascript_include_tag 'mijs.js' %>   <%= csrf_meta_tags %>

</head> <body>

<%= yield %>

</body> </html>

My scripts are in assets/javascripts. And the css works fine, but the js not.

I google how to add js and css in rails, and I think I am doing it right.. any advice please??

thanks in advance!

To make it simplier include just application: javascript_include_tag 'application'

In application file should be writed something like: require self require_tree .

This will require all css files in the assets/javascript folder.

And once more - you have no need to write '.js' for file in Rails at all.

thanks for answer (so fast!)

now I have this in the layout file:

  <%= stylesheet_link_tag 'application', :media => "all" %>   <%= javascript_include_tag 'application', :media => "all" %>   <%= csrf_meta_tags %>

also tryied:

  <%= stylesheet_link_tag 'application', :media => "all" %>   <%= javascript_include_tag 'application' %>   <%= csrf_meta_tags %>

and in application file:

//= require jquery //= require jquery_ujs //= require_tree .

this time all is correct? :slight_smile:

I saw the source code of the generated page, and there are all the css and js, and something like the dropdown nav works, but the slide not...

thanks a lot!

I think you are saying that all the js is included in the page ok when you look at the html but the js is not working correctly. In which case you obviously have a problem with the js (not rails). First copy and paste the complete html of the page into the w3c html validator to check for any problems there and then try it with firebug in firefox and see if it throws up any errors.

Colin

yes! this is exactly what I mean. And I know this works because I made it in a static page with the css and js, all out of rails, before. I can't validate the code now, I will this night, but I don't think the code can be the problem as long as it works out of rails...

Thanks all to answer :slight_smile:

Once you get the js/css/html into the browser then it does not care whether it came from a static page or a rails app. If you are getting a different result in rails then the generated page must be different.

Colin

Try including js in order like you had before.

in your application.js

//= require jquery //= require jquery_ujs

//= require ‘foundation.min’ //= require ‘app’

//= require ‘jquery.foundation.navigation’

//= require ‘modernizr.foundation’

//= require ‘mijs’

hi! since the css and js is the zurb foundation, I realize I can install the gem, and I follow the how to in the home page at git-hub (https://github.com/zurb/foundation-rails), and I get stuck in "Using foundation in production", I cant use capistrano because I don't know where is the capfile.. so after install it, I create the capfile and then add the 2 lines the tutorial say me, and then run the "cap deploy" command, and this I get:

$ cap deploy

  * executing `deploy'   * executing `deploy:update' ** transaction: start   * executing `deploy:update_code' Please specify the repository that houses your application's code, set :repository, 'foo' *** [deploy:update_code] rolling back Please specify the name of your application, set :application, 'foo' ** [deploy:update_code] exception while rolling back: SystemExit, Please specify the name of your application, set :application, 'foo'

And I don't undesrtand this... I am doing anything wrong?

Then in the capistrano webpage I didn't found any help...

Then I tryied "To compile on-the-fly" (in the git-hub page), and when I go to my page it doesn't work and looks like since I install foundation gem, with this message:

Sprockets::FileNotFound in Static_pages#index

Showing /home/usuario/ruby/proyectosRoR/volei_2/app/views/layouts/application.html.erb where line #10 raised:

couldn't find file 'foundation'   (in /home/usuario/ruby/proyectosRoR/volei_2/app/assets/stylesheets/application.css:12)

Extracted source (around line #10):

7: 8: <head> 9: <title>Volei2</title> 10: <%= stylesheet_link_tag "application", :media => "all" %> 11: <%= javascript_include_tag "application" %> 12: <%= csrf_meta_tags %> 13: </head>

Rails.root: /home/usuario/ruby/proyectosRoR/volei_2 Application Trace | Framework Trace | Full Trace

app/views/layouts/application.html.erb:10:in `_app_views_layouts_application_html_erb___140248591_80812530'

Request

Parameters:

None

Show session dump

Show env dump Response

Headers:

None

buuuut in the sprockets there are all ok I think:

app/assets/stylesheets/application.css

*= require "foundation" *= require_self *= require foundation_and_overrides *= require_tree .

and app/assets/javascripts/application.js

//= require "foundation" //= require jquery //= require jquery_ujs //= require foundation //= require_tree .

I am having a headache with only try to put some css and js in my static page.. please, what am I doing wrong??

thanks in advance!