狂欢安装 -

时间:2015-10-02 20:20:35

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

我在安装狂欢时遇到麻烦。安装完所有必需的宝石后,我启动了以下命令:

rails _4.2.2_ new my_store
spree install my_store

我没有收到任何错误消息但是当我启动“rails s”时,我得到了狂欢主页,除了“找不到产品”消息之外别无其他。

关于什么可能出错的任何线索?

感谢

4 个答案:

答案 0 :(得分:2)

首先,如果尚未安装

,则需要在您的环境中安装spree gem
gem install spree_cmd

然后你需要创建一个rails项目

rails new my_store

创建rails项目后运行此命令,必须在项目文件夹

之外运行
spree install my_store

最后它会在终端中提示一些问题(如果你想运行种子,它有默认数据),你必须用是(y)或不是(n)来回答,这取决于你想要安装什么(我建议你对所有人说“是”)

现在,您将使用所有默认配置和数据运行您的Spree项目。

答案 1 :(得分:1)

简单的spree安装不提供样本数据或产品,您必须通过命令bundle exec rake spree_sample:load

安装它

答案 2 :(得分:0)

确定sqlite数据库有问题,但仍然不知道... 我刚刚使用mysql数据库创建了一个新的rails项目:

rails new myproject -d mysql

然后:

bundle exec rake db:create

最后:

spree install myproject

非常感谢您的帮助

答案 3 :(得分:-1)

这种情况正在发生,因为佣金已经中止,州和城市没有完全装满。

有一个简单的临时解决方案来完成rake并加载所有样本数据。

2

然后使用

打开spree_core gem
bundle exec rake db:drop

根据

进行调整
bundle open spree_core

spree_core/db/default/spree/countries.rb

require 'carmen'

Carmen::Country.all.map do |country|
  name = country.name
  iso3 = country.alpha_3_code
  iso = country.alpha_2_code
  iso_name = country.name.upcase
  numcode = country.numeric_code
  states_required = country.subregions?

  # country_inserts << [name, iso3, iso, iso_name, numcode, states_required].join(", ")
  Spree::Country.new(      :name => name,
      :iso3 => iso3,
      :iso => iso,
      :iso_name => iso_name,
      :numcode => numcode,
      :states_required => states_required
  ).save!
end

canada = Spree::Country.find_by(iso: "CA")
Spree::Config[:default_country_id] = canada.id

然后做

spree_core/db/default/spree/states.rb

connection = ActiveRecord::Base.connection
state_inserts = []

Spree::Country.where(states_required: true).each do |country|
  carmen_country = Carmen::Country.named(country.name)
  carmen_country.subregions.each do |subregion|
    name = connection.quote subregion.name
    abbr = connection.quote subregion.code
    country_id = connection.quote country.id

    state_inserts << [name, abbr, country_id].join(", ")
    Spree::State.new(:name => name, :abbr => abbr, :country_id => country_id).save!
  end
end

希望这能解决你的问题

谢谢

参考: - https://askubuntu.com/questions/658049/spree-sample-data-fetch-giving-error-on-bundle-exec-rake-dbseed