Ruby on rails Spree商务佣金中止

时间:2015-02-14 05:40:50

标签: ruby-on-rails spree spree-paypal-express spreedly

我正在使用ruby on rails进行狂欢商务。但是我在执行这个命令时遇到错误“bundle exec rails g spree_fancy:install”。我做错了什么?请帮我。提前谢谢。

这是我的错误:

 moududhassan@moududhassan-HP-ProBook-450-G1:~/SpreeProject/banglashop$ bundle exec rails g spree_fancy:install
      append  vendor/assets/javascripts/spree/frontend/all.js
      insert  vendor/assets/stylesheets/spree/frontend/all.css
         run  bundle exec rake railties:install:migrations FROM=spree_fancy from "."
Would you like to run the migrations now? [Y/n] n
Skipping rake db:migrate, don't forget to run it!
moududhassan@moududhassan-HP-ProBook-450-G1:~/SpreeProject/banglashop$ bundle exec rake db:migrate
[WARNING] You are not setting Devise.secret_key within your application!
You must set this in config/initializers/devise.rb. Here's an example:

Devise.secret_key = "ccbb0e6f45b7b7e4eea82ab3f24dab317816ad6b7bf3a2cd10b0879b52bbbfb83d0b2be34cdffb19672ada6fb8aa2d91f142"
== 20150214044609 AddSliderTaxonsAndApplyThem: migrating ======================
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"spree_taxonomy_translations"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
ActiveRecord::StatementInvalid: PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
:               SELECT a.attname, format_type(a.atttypid, a.atttypmod),
                     pg_get_expr(d.adbin, d.adrelid), a.attnotnull, a.atttypid, a.atttypmod
                FROM pg_attribute a LEFT JOIN pg_attrdef d
                  ON a.attrelid = d.adrelid AND a.attnum = d.adnum
               WHERE a.attrelid = '"spree_taxonomy_translations"'::regclass
                 AND a.attnum > 0 AND NOT a.attisdropped
               ORDER BY a.attnum
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
PG::UndefinedTable: ERROR:  relation "spree_taxonomy_translations" does not exist
LINE 5:                WHERE a.attrelid = '"spree_taxonomy_translati...
                                          ^
/home/moududhassan/SpreeProject/banglashop/db/migrate/20150214044609_add_slider_taxons_and_apply_them.spree_fancy.rb:4:in `up'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

我的宝石文件是:

gem 'rails', '4.1.8'
   gem 'pg'
   gem 'sass-rails', '~> 4.0.3'
   gem 'uglifier', '>= 1.3.0'
   gem 'coffee-rails', '~> 4.0.0'
   gem 'jquery-rails'
   gem 'turbolinks'
   gem 'jbuilder', '~> 2.0'
   gem 'sdoc', '~> 0.4.0',          group: :doc
   gem 'spring',        group: :development
gem 'spree', git: 'https://github.com/spree/spree.git', branch: '2-4-stable'
gem 'spree_gateway', github: 'spree/spree_gateway', branch: '2-4-stable'
gem 'spree_auth_devise', github: 'spree/spree_auth_devise', branch: '2-4-stable'
gem 'spree_paypal_express', github: 'spree-contrib/better_spree_paypal_express', branch: '2-4-stable'
gem 'spree_i18n', github: 'spree-contrib/spree_i18n', branch: '2-4-stable'
gem 'spree_static_content', github: 'spree-contrib/spree_static_content', branch: '2-4-stable'
gem 'spree_fancy', :github => 'spree/spree_fancy', :branch => '2-4-stable'
gem 'spree_mail_settings', github: 'spree-contrib/spree_mail_settings', branch: '2-4-stable'

我的database.yml是:

default: &default
adapter: postgresql
encoding: unicode
database: hairdom_test
port: 5432
host: localhost


pool: 5
  username: postgres
  password: 007rajob
  development:
  <<: *default
  database: hairdom_test
  test:
  <<: *default
  database: hairdom_test

  production:
  <<: *default
  database: hairdom_test

当我在本地主机上运行这个项目时,它会显示:

enter image description here

1 个答案:

答案 0 :(得分:1)

您遇到的bundle exec rails g spree_fancy:install错误是因为您的spree_i18n迁移未先运行。您可以这样说,因为错误消息引用了转换表。

您必须修复迁移尝试运行的顺序,以便spree_i18n在其他人之前运行,或者可以尝试将spree_i18n从Gemfile中注释掉,直到您运行迁移为止。

您在访问localhost:3000时看到的错误消息是待定迁移错误,因为它表示您需要运行rake db:migrate来运行它们。根据您的具体情况,您可能还需要rake railties:install:migrations才能运行rake db:migrate,以确保我们将您的所有扩展程序迁移复制到您的应用程序中。