首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在引擎上运行` `rails generate`时,如何修复` `undefined method ` `railtie_namespace'`错误

在引擎上运行` `rails generate`时,如何修复` `undefined method ` `railtie_namespace'`错误
EN

Stack Overflow用户
提问于 2020-04-11 15:46:42
回答 1查看 35关注 0票数 0

问题如下:

代码语言:javascript
复制
# 1) Create full engine `myengine` with Rails 4.2.10
rails _4.2.10_ plugin new myengine --full

# 2) Try to rails generate 
$ bin/rails g
/usr/local/lib/ruby/gems/2.6.0/gems/railties-4.2.10/lib/rails/engine/commands.rb:17:in `<top (required)>': 
  undefined method `railtie_namespace' for nil:NilClass (NoMethodError)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-11 15:46:42

当您对引擎目录进行符号链接并通过如下链接到达该目录时,就会出现问题:

代码语言:javascript
复制
cd path/to/somewhere
rails _4.2.10_ plugin new myengine --full
ln -s path/to/somewhere/myengine ~/favorite/myengine

cd ~/favorite/myengine

./bin/rails g

如果你这样做了,你就会遇到错误。要解决此问题,请更改bin/rails顶部的某些行,如下所示:

代码语言:javascript
复制
# from 
ENGINE_ROOT = File.expand_path('../..', __FILE__)
ENGINE_PATH = File.expand_path('../../lib/myengine/engine', __FILE__)

# to
require 'pathname'
ENGINE_ROOT = Pathname.new(__FILE__).realpath + '../..'
ENGINE_PATH = ENGINE_ROOT + 'lib/myengine/engine'

请参阅::Rails::Engine.find的实现,了解补丁的工作原理。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61153582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档