【问题标题】:ActionController::RoutingError for stylesheet in Rails 3Rails 3 中样式表的 ActionController::RoutingError
【发布时间】:2011-08-29 12:03:26
【问题描述】:

我正在尝试以下场景:

方法 1:使用 rails 脚手架创建资源,编码所有功能,即索引、新建、编辑和删除功能 - 一切正常。

方法 2:尝试为方法 1 中创建的模型手动创建具有不同名称的相同功能的控制器和视图。该功能工作正常。

但我得到一个 RoutingError 为:

Started GET "/userwebmgmts/stylesheets/ctlCalendar.css" for 127.0.0.1 at 2011-08-29 17:08:37 +0530

ActionController::RoutingError (No route matches "/userwebmgmts/stylesheets/ctlCalendar.css"): 

在 Route.rb 文件中:

将新创建的控制器/视图的条目添加为:get "userwebmgmts/index"

谁能帮忙告诉我为什么我收到手动创建的控制器的错误,而没有收到使用脚手架创建的资源的错误?

谢谢, Sudhir C.N.

【问题讨论】:

    标签: ruby ruby-on-rails-3 routing


    【解决方案1】:

    根据您提供的信息,这只是在黑暗中拍摄,但是...

    Rails 路由按顺序工作,机架应用程序首先检查应用程序根目录中的 /public/ 文件夹。如果有匹配的文件,它将加载该文件。

    导轨 3.1

    如果没有,它会加载 assets 文件夹并创建管道,然后检查 application.css 和 application.js

    然后它会加载路线文件并开始检查您的路线

    如果没有路由匹配,那么你会得到一个异常抛出。

    你的问题

    你的问题可能是因为你的 css 放错了地方

    你的文件结构

    /userwebmgmts/stylesheets/ctlCalendar.css
    

    您应该在页眉中有一个如下所示的链接

      <link rel="stylesheet" href="/userwebmgmts/stylesheets/ctlCalendar.css" type="text/css" media="screen" title="no title" charset="utf-8">
    

    并且文件应该位于

    /public/userwebmgmts/stylesheets/ctlCalendar.css
    

    【讨论】:

    • 感谢您的回答,它有效。但我的问题是我在 /public/stylesheets/*.css 文件下有 4 个 css 文件。为什么我只有一个 ctlCalendar.css 文件会出现 routingerror?
    • 还请告诉我解决问题还需要哪些信息?
    • 我使用的是 Rails 版本 3.0.9。因此资产文件夹不存在。
    • 什么有效?我猜你只收到一个路由错误,因为你拼错了一个。也请记得投票并接受正确/好的答案
    • 我创建了文件夹结构 /public/userwebmgmts/stylesheets/ 并放置了文件 ctlCalendar.css。我没有收到路由错误。但我的问题是:/public/stylesheets/ 下有 4 个样式表,用于方法 1,但我在方法 2 中只有一个样式表出现路由错误。我能知道原因吗?
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 2014-11-08
    • 1970-01-01
    相关资源
    最近更新 更多