【问题标题】:Kendoui-rails installing in publicKendoui-rails 在公共场所安装
【发布时间】:2014-06-21 06:39:38
【问题描述】:

我正在使用 Rails 4,我正在尝试使用以下方法安装 Kendoui-rails:

    "rails kendoui:install"

问题是 rails 4 使用 rails-sprockets,所以 jscript 和样式表位于 app/assets 目录。但即使使用 sprocket,它也会继续将其安装在公用文件夹中。

当你运行命令时,它应该是这样的:

  // app/assets/javascripts/application.js
  //= require kendo/kendo.all.min

  /* app/assets/stylesheets/application.css */
  *= require kendo/kendo.common.min
  *= require kendo/kendo.default.min

相反,至少对我来说它显示了这一点:

     copying  Kendo UI (2013.1.319) javascripts
  create  public/javascripts/jquery.min.js
  create  public/javascripts/kendo.web.min.js
 copying  Kendo UI (2013.1.319) stylesheets
  create  public/stylesheets/kendo.common.min.css
  create  public/stylesheets/textures
  create  public/stylesheets/textures/brushed-metal.png
  create  public/stylesheets/textures/dots1.png
  create  public/stylesheets/textures/dots10.png
  create  public/stylesheets/textures/dots11.png
  create  public/stylesheets/textures/dots12.png
  create  public/stylesheets/textures/dots13.png
  create  public/stylesheets/textures/dots2.png
  create  public/stylesheets/textures/dots3.png
  create  public/stylesheets/textures/dots4.png
  create  public/stylesheets/textures/dots5.png
  create  public/stylesheets/textures/dots6.png
  create  public/stylesheets/textures/dots7.png
  create  public/stylesheets/textures/dots8.png
  create  public/stylesheets/textures/dots9.png
  create  public/stylesheets/textures/glass-lighter.png
  create  public/stylesheets/textures/glass.png
  create  public/stylesheets/textures/highlight.png
  create  public/stylesheets/textures/hsv-gradient.png
  create  public/stylesheets/textures/hue.png
  create  public/stylesheets/textures/leather1.png
  create  public/stylesheets/textures/leather2.png
  create  public/stylesheets/textures/noise.png
  create  public/stylesheets/textures/stripe1.png
  create  public/stylesheets/textures/stripe2.png
  create  public/stylesheets/textures/stripe3.png
  create  public/stylesheets/textures/stripe4.png
  create  public/stylesheets/textures/stripe5.png
  create  public/stylesheets/textures/stripe6.png
  create  public/stylesheets/textures/transparency.png
  create  public/stylesheets/textures/transtexture.png
  create  public/stylesheets/kendo.default.min.css

在您的任何源路径中都找不到“stylesheets/kendo/default”。您当前的源路径是: /home/charlie/.rvm/gems/ruby-2.1.2@potsuri/gems/kendoui-rails-0.1.1/vendor/assets

我真的不明白我必须做什么才能解决这个问题。有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    我也无法让它与 Rails 4 中的资产管道一起使用。 The latest commit was a year ago,就在 Rails 4 发布之后。但是,the commit history 并未透露任何实现与 Rails 4 兼容的意图。KendoUI-Rails seems to be a dead project

    问题似乎特别是this line,Kendo 询问 Rails 是否启用了资产管道。这种机制在 Rails 4 中显然发生了变化,因此在全新安装的 Rails 4 中检查返回 nil

    Rails.application.config.assets.enabled
    #=> nil
    

    作为一种快速的解决方法,您可以复制code of the asset pipeline compatible generator(只是类),将类重命名为KendouiInstallGenerator,并将其放入一个名为lib/generators/kendoui_install_generator.rb 的文件中。这将使您能够运行kendoui_install 生成器(注意下划线)。

    $ rails generate kendoui_install
          adding  Kendo UI (2013.1.319) to javascripts pipeline
          insert  app/assets/javascripts/application.js
        deleting  Existing Kendo UI Style References
          adding  Kendo UI (2013.1.319) to styles pipeline
          insert  app/assets/stylesheets/application.css
    

    最后,如果您现在要开始一个新项目,我会建议您反对使用明显未维护的 gem。还有许多其他很棒的前端框架,例如Twitter BootstrapBourbonZurb FoundationSemantic UI,仅举几例。

    【讨论】:

    • 我也想在 Rails 中使用 Kendo UI,因此联系了他们的支持以寻求最佳前进方式。响应是“哎呀——我们的 Rails gem 已经过时了。我已经把它列在了更新列表中。” +1 语义 UI 评论。不知道它看起来很有趣。
    • 请原谅我的愚蠢。我真的受到您的帖子的启发,但惨遭失败,但不想退出,因为我可能如此接近成功。我将 .rb 类文件复制到本地计算机上的我的 app 文件夹中。按照建议重命名文件和类后,我只得到“找不到生成器 kendoui_install”。
    • @WaynePhipps 您是否仔细检查了类和文件是否完全分别命名为KendouiInstallGeneratorlib/kendoui/generators/kendoui_install_generator.rb?否则 Rails 的自动加载机制将找不到任务。
    • 感谢您的回复。非常感谢。除非我有误解,否则 kendoui_install_generator.rb 在我的应用程序文件夹中,完整路径是 /home/dev/rails_projects/kendo_ui/lib/kendoui/generators 其中 kendo_ui 是一个测试轨道应用程序
    • 哦,现在我看到有一个错字,生成器必须在lib/generators/,而不是lib/kendoui/generators/。抱歉,感谢您指出。我也编辑了我的答案。
    猜你喜欢
    • 2012-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-10-27
    • 2020-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多