【问题标题】:Rollback rake assets:precompile回滚 rake 资产:预编译
【发布时间】:2014-03-10 15:04:05
【问题描述】:

我运行 Rails 3.2.13 并运行了一个

rake assets:precompile

为了激活一些否则不会触发的 CoffeeScript, 它完全破坏了我的页面布局,在那之前还不错。 我的应用程序的菜单现在是垂直的而不是水平的,其余页面随后不可见。

我使用 Bootstrap,我怀疑它已经更新了,出于某种原因,但是如果我只知道它为什么会改变以及无论如何都改变了什么,那么改变它的工作量太大了......

我想回到以前的布局状态。

有没有办法回滚?

【问题讨论】:

  • 您应该检查您的引导程序版本并设置正确的版本。你知道你用的是哪个版本吗?
  • 在我的 gemfile 中,我有:gem 'bootstrap-sass', '~> 3.1.1'
  • 这是最后一个引导程序版本,所以不是引导程序更新的问题弄乱了你的布局(除非你最近更改了你的 gemfile 并添加了引导程序版本......那么如果你使用的是 2.3并更新,这可能会搞砸)。预编译资产也不会影响您的布局。您可以在这里发布您的布局吗?
  • 这是一些代码。这是现在垂直而不是水平的部分:
  • 这是一些不适合这里的代码。这是现在垂直而不是水平的部分:

标签: ruby-on-rails twitter-bootstrap


【解决方案1】:

删除公共/资产

解释: 预编译任务编译你的资产,通常在 app/assets 中,并将它们放在你的 public 文件夹/assets 文件夹中。

如果你想回到预编译之前的状态,只需删除 public/assets

rm -fr public/assets.

【讨论】:

  • 我只是这样做了,但我的布局仍然被破坏了......它似乎没有改变任何东西。
  • 它是部署到服务器还是在本地运行?你在什么环境下运行它?
  • 这是我的本地开发环境。
  • 那么预编译应该没什么区别。它仅适用于生产环境,除非您明确告诉它使用预编译资产。如果使用 git,请查看历史记录并检查以前的版本以找到可以正常运行的版本。
  • 您的问题是如何撤消 assets:precompile 所做的事情,通过公开删除 assets 文件夹,您将完成此操作(如上所述)。我相信您的服务器正在读取其他文件夹。如果你在开发模式下运行你的服务器,它可能是从应用程序/资产中读取它们(如果它是一个香草 Rails 应用程序)我不确定我现在能提供任何帮助。也许这个链接可能会帮助guides.rubyonrails.org/asset_pipeline.html#precompiling-assets跨度>
【解决方案2】:

我也有这个问题。除了删除公共文件夹下的预编译资产外,我还必须清除 tmp/cache 文件夹。

【讨论】:

    【解决方案3】:

    好的,这应该是问题所在:您将引导程序版本从 2.1 更改为 3.1,并且您使用的语法不适合 3.1。 这不是编译资产的问题,只是从版本 2 到版本 3,有一种全新的语法。

    看看这里:

    http://getbootstrap.com/migration/

    然后在 gemfile 中将引导 gem 版本设置为 2.1 并运行 bundle install。一切都应该回到正确的地方。

    【讨论】:

    • 我想我不能回到 2.1,因为我使用了我记得明确要求 3.1 的东西,这就是为什么我不得不切换到那个新版本。但我不明白为什么是预编译导致了问题。我之前使用 Bootstrap 3.1 完成了捆绑安装,但并没有导致该问题。只有 rake assets:precompile...
    • 我查看了您的引导迁移链接。我必须说这对我来说都是中国的。我使用的标签似乎不在这些列表中,因此,尽管我看到“导航栏”已以某种方式更新,但出于某种我无法理解的原因。我认为我不具备分析 Bootstrap 版本控制问题所需的技能。我想要的只是回到我之前的布局状态,就在我执行 :rake assets:precompile 之前,因为我再次确信它毁了一切。中间我什么也没做。
    • 好的,我会尝试更清楚一点:如果您的布局基于旧的引导类,那么这些将不再适用于新版本。这就是为什么您在文档中没有看到您正在使用的任何类的原因。而且,运行 assets:precompile 不会影响你的布局:如果你删除了 public/assets 文件夹,预编译的资产就完全消失了。另外,为了确保预编译没有效果,您可以尝试在您将(通常)指定config.assets.compile = true的开发环境中运行您的应用程序,说不要使用预编译资产
    • > 运行 assets:precompile 不会影响您的布局。嗯,它做了很多,这正是我的问题:我的布局被我的 rake assets:precompile 破坏了,没有别的。
    • > 如果您删除了 public/assets 文件夹,则预编译的资产完全消失了。删除公共/资产全部内容后,布局仍然被破坏。我的设置有什么问题???
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 2012-05-20
    相关资源
    最近更新 更多