首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 4,带有生成器的定制创业板“找不到生成器”

Rails 4,带有生成器的定制创业板“找不到生成器”
EN

Stack Overflow用户
提问于 2014-06-01 08:04:12
回答 2查看 5.1K关注 0票数 9

我正在构建一个创业板,只是为了完成这些过程,我正在尝试向它添加一个生成器。当我运行$ rails g时,我的生成器出现了:

代码语言:javascript
运行
复制
Mygem:
  mygem:install

但是rails不认识它

代码语言:javascript
运行
复制
rails g mygem:install
Could not find generator mygem:install.

我的宝石指向了我的宝石文件中的最新版本。

代码语言:javascript
运行
复制
#mygem/lib/rails/generators/mygem_generator.rb
require 'rails/generators'
require 'rails/generators/base'

module Mygem
  class InstallGenerator < Rails::Generators::Base
    def test
        puts 'hi'
    end
  end
end

代码语言:javascript
运行
复制
-mygem
  - lib
    - generators
      - mygem
        mygem_generator.rb
    - mygem
      version.rb
    mygem.rb
  - pkg
    mygem-0.0.1.gem
.gitignore
Gemfile
LICENSE.txt
README.md
Rakefile
mygem.gemspec

代码语言:javascript
运行
复制
#mygem.gemspec
# coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'mygem/version'

Gem::Specification.new do |spec|
  spec.name          = "mygem"
  spec.version       = Mygem::VERSION
  spec.authors       = ["me"]
  spec.email         = ["email@email.com"]
  spec.summary       = %q{lalaala}
  spec.description   = %q{lalalalal}
  spec.homepage      = ""
  spec.license       = "MIT"

  spec.files         = `git ls-files -z`.split("\x0")
  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
  spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
  spec.require_paths = ["lib"]

  spec.add_development_dependency "bundler", "~> 1.5"
  spec.add_development_dependency "rake"
end
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-06-01 09:09:58

我们有刚做了一块宝石,并有一个生成器,允许您调用rails generate exception_handler:install像这样

代码语言:javascript
运行
复制
#lib/generators/my_gem/install_generator.rb
module MyGem
    class InstallGenerator < Rails::Generators::Base
         def test
             puts "hi"
         end
     end
end

这应该对你有帮助-这对我们有用。

票数 11
EN

Stack Overflow用户

发布于 2016-07-29 21:18:17

在发布了我的第一个公共创业板之后,我遇到了这个问题,这是因为邦德勒,或者说Rails应用程序无法使用生成器访问实际的存储库(我相信是这样的)。

我一直在包括gem 'spree_custom_checkout'

输入rails g时看不到gem的生成器。

然后我做了这个:

gem 'spree_custom_checkout', github: '0bserver07/Spree-Custom-Checkout'

然后发电机就出现了!

步骤:

  1. 我做了创业板spree_custom_checkout.gemspec。
  2. 将其添加到github,并推送到存储库。
  3. 链接到存储库。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23977872

复制
相关文章

相似问题

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