我收到了名叫欢迎的观点。这是我手工创建的。而且,由于我不需要css/js文件来处理这个视图,所以我不想创建它们并将它们放到Asset文件夹中。但是,我得到了一个错误:
Started GET "/javascripts/welcome.js" for ::1 at 2017-11-13 14:55:39 +0000
ActionController::RoutingError (No route matches [GET] "/javascripts/welcome.js"):
actionpack (5.0.0.rc2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call'
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'这个错误是:
ActionController::RoutingError (No route matches [GET] "/stylesheets/welcome.css"):
Rendering /Users/ryzal/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/actionpack-5.0.0.rc2/lib/action_dispatch/middleware/templates/rescues/routing_error.html.erb within rescues/layout
actionpack (5.0.0.rc2) lib/action_dispatch/middleware/debug_exceptions.rb:53:in `call'
web-console (2.3.0) lib/web_console/middleware.rb:28:in `block in call'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `catch'
web-console (2.3.0) lib/web_console/middleware.rb:18:in `call'我可以通过简单地创建welcome.js和welcome.css文件并将它们放在资产上来消除这些错误。但是,我确实想这样做,因为我知道我不想,也永远不想使用这些文件。
那我该怎么解决呢?
FYI,我的Rails应用程序没有失败。一切正常。我得到的错误出现在我的终端上。见下文:

这是我config/initializer/assets.rb里唯一的一件事
Rails.application.config.assets.version = '1.0'发布于 2017-11-20 12:30:40
在你的布局中:
<%= stylesheet_link_tag params[:controller] %>
<%= javascript_include_tag params[:controller] %>这迫使您的应用程序为任何具有当前控制器名称的控制器加载资产(也是为了表示欢迎)。如果您删除这一点,您的错误应该消失。请记住,这段代码对于其他控制器可能很有用,您可能会丢失一些样式/javascripts。将它们全部包含在资产中的application.js/..css文件中。不需要以这种动态方式加载单独的资产。
发布于 2017-11-13 15:48:22
也许有一个更整洁的方法,但我会使用布局。
将布局分配给控制器中想要的页面,在这些布局中需要所需的文件:
http://brandonhilkert.com/blog/page-specific-javascript-in-rails/
https://stackoverflow.com/questions/47268113
复制相似问题