【问题标题】:Using Fullcalendar with Twitter Bootstrap in Ruby on Rails在 Ruby on Rails 中使用 Fullcalendar 和 Twitter Bootstrap
【发布时间】:2014-06-11 07:24:29
【问题描述】:

我是 Ruby on Rails 世界的新手。作为一个小练习,我正在尝试设置一个具有标记功能的基本(但经过优化)日历。 Fullcalendar 在日历上工作得非常好,并且作为标记-on 是一个很好的标记系统。

然而,我遇到麻烦的地方是使用 Twitter Bootstrap 获得漂亮的按钮和布局。我似乎无法让宝石真正做任何事情。按照 Railscast #328 (http://railscasts.com/episodes/328-twitter-bootstrap-basics) 安装后,我的页面看起来完全没有变化。

现在,我的 application.html.erb 看起来像这样:

  1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html>
  2 <head>
  3   <title>Calendar</title>
  4   <%= stylesheet_link_tag "fullcalendar.css" %>
  5   <%= stylesheet_link_tag "bootstrap-fullcalender.css" %>
  6   <%= stylesheet_link_tag "application.css" %>
  7   <%= javascript_include_tag "jquery.js" %>
  8   <%= javascript_include_tag "jquery.rest.js" %>
  9   <%= javascript_include_tag "rails.js" %>
 10   <%= javascript_include_tag "application.js" %>
 11 
 12   <!-- these are needed for the calendar. -->
 13   <%= javascript_include_tag "jquery-ui-1.8.11.custom.min.js" %>
 14   <%= javascript_include_tag "fullcalendar.js" %>
 15   <%= javascript_include_tag "calendar.js" %>
 16 
 17   <%= csrf_meta_tag %>
 18 
 19   <%= javascript_tag "var AUTH_TOKEN = #{form_authenticity_token.inspect};" if protect_against_forgery? %>
 20 
 21 </head>
 22 <body>
 23 
 24 <%= yield %>
 25 
 26 </body>
 27 </html>


bootstrap-fullcalendar.css 文件是从 brennovich 的解决方案https://github.com/addyosmani/jquery-ui-bootstrap/issues/37 无耻地“借用”的。我将文件放在 /app/assets/stylesheets 和 /public/stylesheets 中,但没有成功。



关于如何使其正常工作和/或替代 Bootstrap 以获得良好格式的任何建议?

编辑:

Gemfile、application.css 和 application.js 发布在下面的 cmets 中(遗憾的是,我只有有限数量的链接:-/)
还注意到我在启动服务器时收到“ActionController::RoutingError (No route matches [GET] "/stylesheets/bootstrap-fullcalender.css"):" 错误...这似乎很重要。

【问题讨论】:

  • 我想你已经运行了 bundle 并重新启动了服务器 :)。请输入您的 Gemfile 的内容,以及您的 app/assets/stylesheets/application.css 和 app/assets/javascripts/application.js 的内容
  • 我确实运行了 bundle 并重新启动了服务器。感谢您的检查 :) Gemfile:pastebin.com/6mVdz3Qq application.css:pastebin.com/7ud8UY1B(它似乎只是一堆 cmets?) application.js:pastebin.com/TdkY5JdT 我之前没有注意到的一件事是我得到了一个“ ActionController::RoutingError (没有路由匹配 [GET] "/stylesheets/bootstrap-fullcalender.css"):

标签: css ruby-on-rails twitter-bootstrap fullcalendar


【解决方案1】:

好的,所以如果您确定该文件位于 app/assets/bootstrap-fullcalender.css 上,那么您不需要在 /public/stylesheets 上使用它,将其从 /public/stylesheets 中删除(它将由rails 所以不用担心)。

然后重启你的服务器,这个 url 应该会给你样式表:

http://localhost:3000/assets/bootstrap-fullcalender.css

检查一下,我们可以从那里继续

【讨论】:

  • 我会记住 /public 的。尽管 bootstrap-fullcalendar.css 位于指定位置,但转到 http://localhost:3000/assets/stylesheets/bootstrap-fullcalender.css 会返回 'No route matches [GET] "/assets/stylesheets/bootstrap-fullcalender.css" '错误...我需要添加任何内容吗routes.rb?
  • 不,你扔在 /assets/stylesheets 上的任何 css 文件,然后它会在你请求 your_lost/assets/name_of_stylesheet.css 时出现。有时您可能需要重新启动服务器,但仅此而已。我的意思是,您处于“开发”环境中,对吗?您可以尝试更改文件的名称以查看是否有帮助,但您无需执行任何其他操作。稍后,根据您的配置,您应该更新 config/environments/production.rb 上的资产编译设置,但这是针对生产环境的。
  • 抱歉延迟回复;这是忙碌的一周。该 URL 仍然无法在该项目中使用,但在不同的测试项目中可以使用……我一定是在不知不觉中更改了某种设置。今晚会调查。
  • 是的,即使 RAILS_ENV 设置为“开发”,我也无法以这种方式查看 任何 样式表。有什么想法吗?这似乎很奇怪......
  • 不是真的,如果文件在那里,你应该能够从请求中获取文件,如果你不能得到它,那么它是罕见的,这不是 rails 的预期行为.
【解决方案2】:

由于有人对此表示赞同,我决定回顾一下我为解决这个问题所做的工作,因为我最终确实解决了这个问题。看来我所做的只是根据 gem 的 github 页面上的说明将我的 gemfile 中的行更改为从最新版本安装:

gem "twitter-bootstrap-rails", :git => 'git://github.com/seyhunak/twitter-bootstrap-rails.git'

之后,它基本上开箱即用。后来我还可以毫不费力地添加一个引导日期时间选择器和颜色选择器。去图吧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-25
    • 2020-09-17
    • 1970-01-01
    • 2013-05-24
    • 2014-08-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多