2016-06-03 7 views
0

Ich wurde vor kurzem in die Ruby on Rails-Seite konvertiert, so bin ich neu in der Kunst der Asset-Pipeline und Ruby auf Schienen im Allgemeinen. Das Problem, das ich im Moment habe, ist, dass, wenn ich versuche, meinen Rubin auf Rails Seite zu laden, es einen 404 Fehler auf meinem default.js und meinem default.css bekommt. Diese beiden Dateien befinden sich im Verzeichnis app/assets/javascripts bzw. app/assests/stylesheets.Laden von CSS- und JS-Dateien in Ruby on Rails

Ich glaube, dass dieses Problem von meinem stylesheet_link_tags und javascript_link_tags in meinem application.html.erb verursacht wird. Im Folgenden finden Sie meine application.html.erb

<!DOCTYPE html> 
<html> 
<head> 
    <title>Loadtest</title> 
    <%= stylesheet_link_tag 'default', media: 'all', 'data-turbolinks-track' => true %> 
    <%= javascript_include_tag 'default', 'data-turbolinks-track' => true %> 
    <%= csrf_meta_tags %> 

    <meta charset="UTF-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width = device-width, initial-scale = 1"> 
    <link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
    <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Ubuntu"> 

</head> 
<body> 
<div id = "content"> 
    <%= yield %> 
</div> 


</body> 
</html> 

Zu Beginn application nach ihnen die Link-Tags hatte sehen können, aber diese SO Question führte mich zu glauben, dass sie zu default Änderung des Problems wäre zu beheben.

Der Fehler, wenn ich default zurück zu application ändern auftritt, ist die folgende

ExecJS::ProgramError in Application#home 
Showing c:/Users/***/Desktop/loadtest/app/views/layouts/application.html.erb where line #5 raised: 
TypeError: Object doesn't support this property or method 
    Rails.root: c:/Users/aterra/Desktop/loadtest 

Ich habe meine application.js oder application.css nicht in irgendeiner Weise verändert und aussehen, wie sie aussehen würde, wenn Sie eine bauen Schienenanwendung.

Wenn Sie brauchen, um meine Anwendung Controller sehe es so Jede Hilfe bei der Lösung dieser Frage

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 
    protect_from_forgery with: :exception 
    def home 
    end 
end 

sieht würden sehr geschätzt. Danke für deine Zeit.

EDIT:

aufgelöst ich mein Problem durch default zu application.css und application.js bzw. zu verändern. Danach ging ich in meinen application.js Ordner und fügte =require turbolinks ohne die // hinzu und dann begann es zu arbeiten.

Antwort

0

Sie können Ihre JS und CSS-Dateien in Ihrem application.[js|css] In Ihrem application.js benötigen, hängen //= require default und in Ihrem application.css, hängen *= require default, default jeweils der Name Ihres JS/CSS-Dateien zu sein. Sie können hier mehr über die Assets Pipeline erfahren: http://guides.rubyonrails.org/asset_pipeline.html

0

Standardmäßig sucht Rails für das Manifest nach application.js. Wenn Sie möchten, default.js Sie verwenden müssen implizit Rails anweisen, um es zu suchen:

Versuchen Zugabe folgendes /config/initializers/assets.rb

Rails.application.config.assets.precompile += %w(default.js) 
+0

Sie meine application.js und application.css wechsle ich dann zu default.js und default.css? – terrabl

+0

Ja, das ist die Idee. – olvado