【问题标题】:Spree Commerce is working, but no assets.Spree Commerce 正在运作,但没有资产。
【发布时间】:2012-08-24 19:35:36
【问题描述】:

我正在尝试自定义和修改 Spree Commerce,但在 app/views、lib/assets 或我能想到的任何其他地方都没有标准资产文件/图像/视图。我正在尝试阅读他们的教程,但找不到任何可编辑的内容。是否有另一个命令我需要解压缩所有内容或其他内容?非常感谢您的帮助!

【问题讨论】:

  • 这取决于您如何运行服务器。你是在生产环境中运行它吗? Rails 在config/environments/production.rb 中有一个设置(config.serve_static_assets),设置为false,这意味着rails 实例本身不会提供静态资源。因此,也许您正在生产中运行它,这就是它看不到资产的原因?到目前为止提供的信息,我想不出任何其他原因。
  • 我在开发模式下运行它。不是它看不到资产,而是那里没有资产。我什至找不到蓝色主题使用的图像。
  • Spree 是一个插件,所有这些文件都位于 gem 本身的目录中,而不是在您添加它的应用程序中。要更改它们,您只需在应用中覆盖它们即可。
  • 我想我遇到的真正问题是我不知道我想要皮肤的文件的名称或在哪里可以找到它们。就像在 spree 教程中一样,我知道 app/views/spree/checkout/registration.html.erb 中有一个文件,但是我如何知道文件名、目录以及其中的内容? gem 文件在哪里?我从 github 下载了一份 spree,但文件似乎不在正确的位置或名称不正确。

标签: ruby-on-rails ruby ruby-on-rails-3 e-commerce spree


【解决方案1】:

我的方法是通过 github.com 下载主要的 spree gem,查看图像所在的位置,然后在我的本地 app/assets 目录中创建我想要覆盖的图像,并使用相同的路径运行:

rake assets:precompile:nondigest 

重新启动 webrick/pow 或您正在运行的任何其他 Web 服务器,瞧!

【讨论】:

  • 嘿,谢谢!我很欣赏你的回应,但意见等呢?有什么简单的方法可以查看它们吗?
  • 如果你下载 gem 浏览到 core/app/view/spree 并且你所有的观点都准备好​​了:) 如果你想修改这些,只需将它们复制到你的本地项目 app/ views/spree 和项目中的那些将覆盖 gem 中的那些。希望这可以解决问题:)
【解决方案2】:

我猜你并不真正熟悉宝石的工作原理。正如这里的人所说,这些不会自动显示在您的核心应用目录中,但 gemfile 和运行的 bundle install 知道如何引用它们。

因此,正如您所说,您需要找到那些宝石来找出文件名。如果你想查看 gemfiles 在终端运行这个命令:

$ bundle open spree_frontend

如果您收到此错误:

To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR

那你还没有设置编辑器,所以这样做:

export BUNDLER_EDITOR=sublime

然后重做 bundle open 命令。这应该会打开 spree_frontend 目录,让您可以调查文件名/路径和资产。如果要更改整个模板,则需要创建与 spree gem 中的名称和路径完全匹配的文件(例如 spree/layouts/spree_application.html.erb),然后在编辑它时,您的 rails 应用程序将渲染核心应用目录中的代码,从而覆盖 spree gem。

这有意义吗?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-31
    • 1970-01-01
    • 2014-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多