1

我正在尝试运行我的狂欢商务项目(2.0),但是当我执行命令时 rails server,会显示此消息

ActiveRecord::StatementInvalid in Spree/home#index

显示 /home/iron/.rvm/gems/ruby-1.9.3-p392/gems/spree_frontend-2.0.1/app/views/spree/shared/_taxonomies.html.erb 其中第 2 行提出:

找不到表 'spree_taxonomies' 提取的源(在第 2 行附近):

1: <nav id="taxonomies" class="sidebar-item" data-hook>
2:   <% get_taxonomies.each do |taxonomy| %>
3:     <h6 class='taxonomy-root'><%= Spree.t(:shop_by_taxonomy, :taxonomy => taxonomy.name) %></h6>
4:     <%= taxons_tree(taxonomy.root, @taxon, Spree::Config[:max_level_in_taxons_menu] || 1) %>
5:   <% end %>
4

4 回答 4

2

发生错误是因为数据库表spree_taxonomies不存在。您应该运行rake db:migrate以创建数据库和表。

于 2013-06-15T21:02:43.480 回答
0

不要忘记在生产环境 rake db:migrate RAILS_ENV=production rake assets:precompile RAILS_ENV=production

于 2013-07-01T20:27:04.337 回答
0

看起来 spree_taxonomies 表丢失了。您需要 运行 rake db:migrate

在生产中 - RAILS_ENV=production rake db:migrate

于 2013-09-11T14:41:32.660 回答
0

以上所有答案都应该可以解决问题。我只想指出在 Rails 中开发应用程序时有一个最佳实践。

添加一个bin/setup为您完成所有繁重工作的文件。这解决了记住在开始项目时必须执行的所有任务的问题。

只需执行bin/setup并完成。

来源: http ://robots.thoughtbot.com/bin-setup

于 2015-02-20T13:18:28.003 回答