尝试在Rails引擎中进行db:migrate时,使用Rakefile进行LoadError

时间:2014-12-04 22:21:59

标签: ruby-on-rails fullcalendar rails-engines

我从https://github.com/vinsol/fullcalendar-rails-engine.git

分叉了fullcalendar_engine rails引擎

当我尝试将属性(:task)添加到Event资源并rake db:migrate时,我收到以下错误:

rake aborted!
LoadError: cannot load such file -- /Users/myuser/fullcalendar-rails-engine/test/dummy/Rakefile
/Users/myuser/fullcalendar-rails-engine/Rakefile:19:in `load'
/Users/myuser/fullcalendar-rails-engine/Rakefile:19:in `'
/Users/myuser/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
/Users/myuser/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `'
Tasks: TOP => load_app

任何人都知道如何让这个工作?我是rails引擎的新手。

3 个答案:

答案 0 :(得分:0)

Rakefile指的是一个似乎不在回购中的文件 - APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)

答案 1 :(得分:0)

如果您查看该项目的Rakefile,您会注意到其中有一条线:

APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)

查看项目的目录结构,您会注意到test/dummy目录不存在,因此LoadError。阅读installation instructions并将Gem包含在Rails 4应用程序的Gemfile中。

答案 2 :(得分:0)

这是我最终做的事情。

我将引擎连接到虚拟父应用程序并运行 bundle update 以使用forked gem中的最新更新。最初,当我尝试以这种方式从引擎迁移更改时,它无法正常工作。我的问题是我是捆绑安装 ing而不是捆绑更新。捆绑安装将查找任何版本更改,但由于我没有更改我的版本,它没有看到我的迁移。我运行 rake fullcalendar_engine:install:migrations 将我的引擎迁移复制到父应用程序中,然后运行 rake db:migrate