问题标签 [rails-generate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
1820 浏览

ruby-on-rails - 具有嵌套命名空间的 Rails 4 引擎

我找不到在 Rails 下生成具有嵌套命名空间的引擎的方法。每次我这样做时,我基本上都必须手动编辑和移动生成的文件。Rails 中真的不支持嵌套命名空间吗?似乎不太可能。

在公司,我们将所有内容命名为:CompanyName::SerivceName::Module

因此,当我在 Service1 上工作并制作将集成到客户支持使用的应用程序中的引擎时,该引擎将根据客户请求处理该服务的用户和数据,我想在 CompanyName 下创建该引擎: :Serve1::客户支持

然而,rails 似乎无法做到这一点。

  • rails plugin new a::b::blah不接受使用:

    akovanm0:test avandra$ rails plugin new a::b::blah -T --dummy-path=spec/dummy --mountable --full --mountable

    Invalid plugin name a::b::blah. Please give a name which use only alphabetic or numeric or "_" characters.

  • 指定rails plugin new a/b/blah生成引擎,但输出与rails plugin new blah

  • 指定rails plugin new a_b_blah会生成一个具有文字名称 a_b_blah 的引擎,而不是命名空间。(实际名称是骆驼拼写的 ABBlah)

我想要实现的是一个引擎,它的控制器、模型和视图是在a::b::blah命名空间下生成的,并且可以以相同的方式安装。我希望所有生成的控制器都在下面app/controllers/a/b/blah,模型在下面app/models/a/b/blah,等等......

有没有办法做到这一点?

0 投票
1 回答
31 浏览

ruby-on-rails - rails 通过配置文件生成模型

有可能通过配置文件生成模型(和迁移)吗?我有这么多桌子,我想通过一个简单的步骤(一直)创建它们。

0 投票
3 回答
1182 浏览

ruby-on-rails - Rails 4 未初始化的常量 Admin::Category

我为所有默认模型生成了管理命名空间控制器,如下所示:

这生成了以下文件:

应用程序/模型/类别.rb

应用程序/控制器/管理员/categories_controller.rb

app/view/admin/categories/index.html.erb

我的尝试

我编辑了控制器如下

当我转到localhost/admin/categories并单击“新类别”时,我现在收到以下错误:

我的路线文件:

0 投票
1 回答
673 浏览

ruby-on-rails-3.2 - rails generate ckeditor:install 无法加载生成器

我添加到 Gemfile

gem 'ckeditor'

我也尝试添加

gem 'ckeditor', :git => 'git://github.com/galetahub/ckeditor.git'

或者

gem 'ckeditor', :git => 'git://github.com/galetahub/ckeditor.git', :branch =>'rails3'

捆绑安装成功完成,但是当我在项目目录中调用命令时

rails g ckeditor:install --orm=active_record --backend=paperclip

我得到以下回复

[警告] 无法加载生成器“generators/ckeditor/install_generator”。错误:未初始化的常量 Ckeditor::Rails::Generators。/home/boberobor/.rvm/gems/ruby-1.9.3-p392/bundler/gems/ckeditor-6d8032b87595/lib/generators/ckeditor/install_generator.rb:6:in <module:Generators>' /home/boberobor/.rvm/gems/ruby-1.9.3-p392/bundler/gems/ckeditor-6d8032b87595/lib/generators/ckeditor/install_generator.rb:5:in'/home/boberobor/.rvm/gems/ ruby-1.9.3-p392/bundler/gems/ckeditor-6d8032b87595/lib/generators/ckeditor/install_generator.rb:4:in <top (required)>' /home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/generators.rb:300:inblock (2 levels) in lookup' /home/boberobor/.rvm/gems/ruby-1.9 .3-p392/gems/railties-3.2.13/lib/rails/generators.rb:296:ineach' /home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/generators.rb:296:in块查找'/home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties- 3.2.13/lib/rails/generators.rb:295:在each' /home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/generators.rb:295:in查找中'/home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/generators.rb :152:在find_by_namespace' /home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/generators.rb:169:in调用'/home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands/generate.rb:12:in <top (required)>' /home/boberobor/.rvm/gems/ruby-1.9.3-p392/gems/railties-3.2.13/lib/rails/commands.rb:29:in'脚本/rails:6:in require' script/rails:6:in'找不到生成器 ckeditor:install。

那是什么?

0 投票
2 回答
184 浏览

ruby-on-rails - 每次运行 rails 命令时都会出现语法错误

我正在尝试为新的 rails 项目生成页面,但我不断收到此错误。

我也尝试过运行 rails server,它会加载服务器然后退出并返回同样的错误。我正在通过一个月的 Rails 工作,并在观看创建更多页面课程后尝试使用到目前为止所学的知识来建立自己的项目。请帮忙!

0 投票
1 回答
22 浏览

ruby-on-rails - 在 Rails 生成器中重用方法

我正在编写一系列 Rails 生成器,它们将共享几个相同的方法。我想将这些方法抽象为它们自己的模块或类,以便在我的每个生成器中重用(但不会自动触发)。

我最近的尝试是自动加载一个帮助文件,然后包含它:

lib/my_gem/engine.rb

lib/helpers/generators_helper.rb

lib/generators/my_gem/my_generator.rb

但我会看到类似的东西Error: uninitialized constant MyGem::GeneratorsHelper.

0 投票
1 回答
829 浏览

ruby-on-rails - Rails 生成模型 - 字段约束?

例如,我知道我可以通过执行“rails generate model field1:string:uniq”来生成模型并设置约束,例如 uniq。有没有办法可以设置“非空”约束?

0 投票
0 回答
78 浏览

ruby-on-rails - Rails:用字符串 ID 存根模型的最佳方法?

假设我想删除一个具有product_id字符串类型字段的 Product 模型。

product_id除了idRails 创建的默认字段之外,我还要添加吗?1

还是product_id做主键?

使用后一种选项,是否还有其他需要设置的内容,或者是否应该立即工作?2存储和检索是否会如此简单:


  1. 请注意,我没有放:index:uniq. 这是因为:uniq它自己创建了一个唯一索引(即在您将看到的架构中add_index :products, :product_id, unique: true)。
  2. 看起来还有一些额外的步骤:
0 投票
0 回答
301 浏览

ruby-on-rails - 我不能让 Rails 生成控制器

我有 ruby​​ 1.9.3 和 rails 3.1

我正在尝试使用以下语法生成控制器:

但是用这个错误回复我:

/Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:in load': /Users/Uriel/Documents/Uriel/omniauth/config/initializers/omniauth.rb:2: syntax error, unexpected tIDENTIFIER, expecting keyword_end (SyntaxError) from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:inblock in load' 来自 /Users/Uriel/。 rvm/gems/ruby-1.9.3-head@omniauth/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in block in load_dependency' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:640:innew_constants_in' 来自 /Users/Uriel/.rvm/gems/ruby-1.9。 3-head@omniauth/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:223:in load_dependency' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/activesupport-3.1.0/lib/active_support/dependencies.rb:234:inload' 来自 /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/ railties-3.1.0/lib/rails/engine.rb:555:in block (2 levels) in <class:Engine>' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/engine.rb:554:ineach' 来自 /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/ rails/engine.rb:554:in block in <class:Engine>' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/initializable.rb:25:ininstance_exec' 来自 /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/initializable.rb:25:在run' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/initializable.rb:50:in在 /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/initializable.rb:49:in run_initializers' 中阻止each' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/initializable.rb:49:in/Users/中的 run_initializers' Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/application.rb:92:in initialize!' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/railtie/configurable.rb:30:inmethod_missing' 来自 /Users/Uriel/Documents/Uriel/omniauth/ config/environment.rb:5:in <top (required)>' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/application.rb:78:inrequire' 来自 /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/application.rb:78:在require_environment!' from /Users/Uriel/.rvm/gems/ruby-1.9.3-head@omniauth/gems/railties-3.1.0/lib/rails/commands.rb:22:in'来自脚本/rails:6:in require' from script/rails:6:in'

谢谢!:)

0 投票
1 回答
301 浏览

ruby-on-rails - Rails g 迁移换了新线,什么也不做

必须向用户添加密码摘要,但 rails generate comand 不起作用。它只是假装工作,但似乎它会永远持续下去。没有返回错误或回溯,只是换行。