相关疑难解决方法(0)

Ruby on Rails:如何在Rails中明确定义复数名称和单数名称?

例如,我使用"奖金"作为我的模型,所以我希望"奖金"是复数形式,"奖金"是单数形式.

但是,在Ruby中,这导致:

"bonus".pluralize # bonus
"bonuses".singularize # bonuse
Run Code Online (Sandbox Code Playgroud)

因此,当我执行"has_many:bonus"时,它不使用Bonus.rb模型(因为Ruby需要Bonuse.rb模型).有没有办法在Ruby on Rails中以某种方式纠正它,使得"奖金"充当模型bonus.rb的复数形式?

ruby ruby-on-rails

50
推荐指数
1
解决办法
2万
查看次数

在rails3中覆盖model-name的默认复数形式

我的语言环境是:de和我喜欢这个:

Sheet.model_name.human.pluralize # => Belegs
Run Code Online (Sandbox Code Playgroud)

给我添加一个尾随"e"而不是"s"

Sheet.model_name.human.pluralize # => Belege
Run Code Online (Sandbox Code Playgroud)

仅适用于Sheet-class.我可以在config/locales/models/de.yml中以某种方式添加它吗?

localization ruby-on-rails pluralize

27
推荐指数
2
解决办法
1万
查看次数

Ruby on Rails ActiveRecord:复数化

我是Rails的新手,请原谅我对ActiveRecord的无知.我的一个模型被命名为"校园".我运行了迁移,它除了"校园"之外还复制了所有内容.

我认为这很蹩脚,所以我将代码添加到环境配置中以使所有内容保持单一.

我删除了表,手动编辑了迁移文件以使用单数形式,并重新运行了迁移.现在我与"校园"的协会不再有效.我通过控制台运行它,注意到我得到了一个未初始化的常量"Campu".那么还有什么东西仍然认为"校园"是复数?我是否应该假设配置更改将导致我前进的麻烦?

ruby activerecord model ruby-on-rails pluralize

12
推荐指数
1
解决办法
4807
查看次数

如何在rails引擎上使用变形

我用它创建了一个引擎

rails plugin new myengine --mountable
Run Code Online (Sandbox Code Playgroud)

在项目文件夹中搜索"inflections"时,我找到 /test/dummy/config/initializers/inflections.rb文件

在这个文件中,我把

ActiveSupport::Inflector.inflections(:en) do |inflect|
  inflect.irregular 'singular_model', 'plural_model'
end
Run Code Online (Sandbox Code Playgroud)

当我尝试使用模型生成器(从项目根目录)

bin/rails generate model singular_model
Run Code Online (Sandbox Code Playgroud)

然后我用singular_models作为表名和迁移名称进行迁移

当我从myengine/test/dummy运行相同的命令时

bin/rails generate model singular_model
Run Code Online (Sandbox Code Playgroud)

我得到了具体的结果:plural_model作为表名和迁移名称

那么,我怎样才能将导流板装入导轨发生器?

ruby-on-rails ruby-on-rails-4

11
推荐指数
1
解决办法
810
查看次数

rails MVC命名约定是否使用复数形式为"-ies"的单词(例如回复)?

我在考虑创建一个名为的模型Reply.我想知道Rails是否知道它的复数形式是replies不是replys

ruby-on-rails

7
推荐指数
1
解决办法
881
查看次数

Rails数据/数据变形问题

在我的Rails 3.2.6应用程序中,我有一个模型,表示有关窗口小部件的数据集合.在我看来,这个类的正确名称是WidgetData复数,因为每个小部件我有多个数据项.

如果我要求Rails为这个类生成一个表单:

= form_for @widget_data do |f|
  ...
Run Code Online (Sandbox Code Playgroud)

我收到一个错误ActionView::Template::Error (undefined method 'widget_datum_path' ....据推测这是因为Rails数据/数据变形规则.

我不确定如何最好地解决这个问题:我可以让Rails指示我的模型实际上应该是WidgetDatum.或者我可以以某种方式禁用在这种特殊情况下使用变形规则,但我不确定如何最好地做到这一点.建议欢迎.

预测一个可能的答案:模型不仅仅被调用的原因Widget是我已经有一个已经命名的façade类,它提供了一个包含WidgetData其他信息的小部件的更丰富的视图.

ruby ruby-on-rails inflection

6
推荐指数
1
解决办法
3385
查看次数

ruby on rails多元化帮助?

可能重复:
如何覆盖rails命名约定?

我的应用程序将是西班牙语.说我想绞架生成激活.复数将是actividades所以我希望表和控制器被命名为....我怎么能这样做?

ruby-on-rails

5
推荐指数
2
解决办法
4507
查看次数

Rails中的非标准复数

可能重复:
如何覆盖rails命名约定?

在Rails中生成新模型时,它会自动复数表名.但是,这并不总是很好 - 特别是对于具有非标准复数的单词.

我创建了一个名为的模型lens.由于rails认为这个词已经多元化,因此它没有在迁移文件中复数表名.没问题 - 我刚刚编辑了文件并在运行迁移之前已更改lenslenses.

不幸的是,我在尝试实例化Lens类时遇到了这个错误:

Could not find table 'lens'
Run Code Online (Sandbox Code Playgroud)

我假设这是因为Rails认为这个单词已经是多元化的,所以当试图在数据库中找到表时它不会尝试复数.

那我该怎么办?我是否应该违反惯例而只是让Rails调用表lens而不是lenses,或者有没有办法正确配置?

database-design model ruby-on-rails pluralize

2
推荐指数
1
解决办法
310
查看次数

Rails为模型创建错误的表名

我正在创建一个名为的模型Stadium,rails g model Stadium但rails正在将表名转换为stadia.

stadium在迁移中手动更改了表名,并添加set_table_name "stadium"到我的模型类中.但我所有的路线都在寻找stadia_path.

我试过rails g model Stadium --force-plural没有成功.

我想我应该使用一个变形,但我不知道如何创建这个变形.体育场是单一的,我仍然需要这个模型的复数体育场.

ruby-on-rails naming-conventions

2
推荐指数
1
解决办法
1146
查看次数

如何自定义rails中类名的单数化

我正在研究 Rails 4.1.0。我在我的应用程序中生成了leaves_controller 和 Leave 模型。

但是应用程序为叶子生成了路由,例如 new_leafe、edit_leaf 等。

实际上,我只希望将 Leave 的单数化字符串保留为 Leave,例如 new_leave_path、edit_leave_path。

如果有任何想法在 Rails 中将类名单一化,请分享。

ruby-on-rails rails-routing

2
推荐指数
1
解决办法
637
查看次数

Ruby on Rails - 定义模型或表的复数名称

我有这个模型

class Oferta < ActiveRecord::Base
  belongs_to :entidade
  has_many :candidatos, :through => :interesses
  has_many :interesses, foreign_key: "oferta_id", dependent: :destroy
Run Code Online (Sandbox Code Playgroud)

基本上我有这个模型和模型Interesse及其复数,interesses但我认为Rails实际上是es在最后取消 并留给我Interess.现在它给了我这个错误:

uninitialized constant Oferta::Interess
Run Code Online (Sandbox Code Playgroud)

我如何定义的单数interessesinteresse?并不是interess

ruby model ruby-on-rails plural

1
推荐指数
1
解决办法
2123
查看次数