标签: inflector

Inflector.Net的替代品

我想在我的项目中使用inflector.net.

只是谷歌搜索,它似乎已经消失了.: - <

http://andrewpeters.net/inflectornet/

还有其他选择吗?


编辑(2011年5月11日):看起来斯科特柯克兰已经接过了警棍:

https://github.com/srkirkland/Inflector

(谢谢斯科特!)

.net c# inflector

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

正确的Rails是否有下划线'下划线'?

看来,使用Rails/AR和Inflector方法加入到String通过ActiveSupport,我希望在默认情况下,

Nested::ClassDerived::FromAR.name.tableize == Nested::ClassDerived::FromAR.table_name
Run Code Online (Sandbox Code Playgroud)

但实际上是tableize调用underscore,并underscore没有实际强调::嵌套类分隔符,而是将其替换为a /来创建路径名.也许应该调用这种方法pathify

无论如何,我需要实际的下划线.所以我正在考虑定义一个新的Stringinflector方法:

def new_inflector
  underscore.gsub('/', '_')
end
Run Code Online (Sandbox Code Playgroud)

这实际上会强调嵌套的类名字符串.

所以,我的问题是,underscore为了正确地和通常地命名我的新变形器方法,没有配置,' ' 的正确变形是什么.是' underscoreize'(遵循由' tableize' 建立的惯例)还是' underscorize'?或许underscoreify

有任何见解赞赏.

ruby-on-rails inner-classes inflector

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

在Inflector的引导程序中定义一个单数规则

我正在使用CakePHP 2.1,需要为"软件"这个词定义一个Inflector规则,因为CakePHP正在将所有引用转换为复数形式的"软件",这是不正确的.Cake正在寻找SoftwaresController和一个名为Softwares的表.

我知道在引导带中创建规则,并阅读此文档参考.

http://book.cakephp.org/2.0/en/development/configuration.html#inflection-configuration

我还看了一下lib/Cake/Inflector.php文件,但是无法弄清楚定义规则的语法.它看起来有点像正则表达式.以下是一些规则示例.

        '/(s)tatus$/i' => '\1\2tatuses',
        '/(quiz)$/i' => '\1zes',
        '/^(ox)$/i' => '\1\2en',
        '/([m|l])ouse$/i' => '\1ice',
        '/(matr|vert|ind)(ix|ex)$/i' => '\1ices',
        '/(x|ch|ss|sh)$/i' => '\1es',
Run Code Online (Sandbox Code Playgroud)

定义软件奇异变形器规则的正确代码是什么?

编辑:

 Inflector::rules('singular', array('rules'=>array('/software/'=>'software'),'irregular'=>array('software'=>'software'),'uninflected'=>array('software')));
Run Code Online (Sandbox Code Playgroud)

我尝试添加此规则,该规则适用于SoftwareController,但Cake抱怨它无法找到Softwares表,它实际上名为"Software".我觉得我很接近,但仍然缺少一些关于它如何工作的东西.

php cakephp inflector

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

如何在Rails生成器上强制执行语言环境变换?

在Rails 4(支持多语言变形)中,我可以设置:

config.i18n.default_locale = :es
Run Code Online (Sandbox Code Playgroud)

在我的config/application.rb中,它允许我在控制台中执行以下操作:

'general'.pluralize(:es)  => "generales"
Run Code Online (Sandbox Code Playgroud)

但是当我跑步时:

rails g model General conciencia:string atencion:string
Run Code Online (Sandbox Code Playgroud)

Rails生成的文件的'general'复数为'generals',西班牙语应该是'generales'

如果设置了语言环境,Rails不应该为其生成器使用多语言导向器吗?有没有办法强迫它使用它们?

谢谢!

inflector ruby-on-rails-4

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

Rails 3变形问题

我在为帆船赛生成脚手架时遇到了问题.我跑的时候

rails g scaffold Regatta name:string start_date:datetime
Run Code Online (Sandbox Code Playgroud)

我得到一个名为regattum的模型和一个名为regatta_controller的控制器(而不是regattas_controller)

  invoke  active_record
  create    db/migrate/20110609221608_create_regatta.rb
  create    app/models/regattum.rb
  invoke    test_unit
  create      test/unit/regattum_test.rb
  create      test/fixtures/regatta.yml
   route  resources :regatta
  invoke  scaffold_controller
  create    app/controllers/regatta_controller.rb
  invoke    erb
  create      app/views/regatta
  create      app/views/regatta/index.html.erb
  create      app/views/regatta/edit.html.erb
  create      app/views/regatta/show.html.erb
  create      app/views/regatta/new.html.erb
  create      app/views/regatta/_form.html.erb
  invoke    test_unit
  create      test/functional/regatta_controller_test.rb
  invoke    helper
  create      app/helpers/regatta_helper.rb
  invoke      test_unit
  create        test/unit/helpers/regatta_helper_test.rb
  invoke  stylesheets
Run Code Online (Sandbox Code Playgroud)

相同的public/stylesheets/scaffold.css

显然这是一个变形问题,但每当我修改/config/initializers/inflections.rb时,我都会收到错误消息:

The name 'Regatta' is either already used in your application or reserved by Ruby on Rails. Please choose an alternative and run this …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails scaffold inflector

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

如何在Rails 3应用程序中自定义音译?

最后,我想使用Inflector.parameterize为文章标题创建slug,其中包含一堆unicode字符(例如"ḤellẒno"=>"hellz-no").根据http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html#method-i-transliterate,它说它们将它们放在locales/en.yml文件中.

# Store the transliterations in locales/en.yml
i18n:
  transliterate:
    rule:
      ?: "h"
      ?: "z"
Run Code Online (Sandbox Code Playgroud)

我试过了,但以下不起作用:

"?ell? no".parameterize
# => "ell-no"
Run Code Online (Sandbox Code Playgroud)

但是,当我像第二段建议的那样在Ruby中更改它时,它可以工作.

I18n.backend.store_translations(:en, :i18n => {
   :transliterate => {
     :rule => {
       "?" => "H",
       "?" => "Z"
     }
   }
})

"?ell? no".parameterize
# => "hellz-no"
Run Code Online (Sandbox Code Playgroud)

我想我想知道为什么在locales/en.yml中放置自定义音译不起作用.

即使有人给出答案,作为一个Rails noob,我也想知道通常把代码放在第二个块的位置来手动设置I18n.backend.store_translations?

unicode inflector ruby-on-rails-3

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

SwiftUI 的变形参数真的只有在直接在文本小部件中使用时才起作用吗?

当使用 SwiftUI 的 inflect 参数时,如下所示:

import SwiftUI

struct ContentView: View {
    @State  var count = 1
    
    var body: some View {
        VStack {
            VStack{
                
                Text("^[\(count) Song](inflect: true)")
                Button("Add"){ count += 1}
                Button("Remove"){ count -= 1}
            }
        }
        .padding()
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

一切都按预期进行,但如果我们尝试做这些事情,却不会:

import SwiftUI

struct ContentView: View {
    @State  var count = 1

    
    var body: some View {
        VStack {
            VStack{
                Text(generateString)
                Button("Add"){ count += 1}
                Button("Remove"){ count …
Run Code Online (Sandbox Code Playgroud)

string plural inflector swiftui

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

CakePHP在表名中的命名约定

对于CakePHP应用程序,我正在考虑遵循CakePHP命名约定的数据库表名称.但是,很多时候我遇到了一个通用表,其中包含的信息不是它自己的实体,而是包含其他实体信息.此表中的信息旨在重新使用,因此它与主实体表分开放置.

例如:我使用的产品有时可能是主产品.在这种情况下,表"products"链接到表"master_product_information",以获取我在"products"表中不需要的额外信息.

另一个示例:包含多个页面的元数据的表.通常我会将表命名为"pages_metadata",但对于Cake来说,这需要是复数,而"pages_metadatas"似乎并不合适.所以我再次选择"pages_metadata_information".

如何命名不包含实体的表?[entity] _information是一个好的信息吗?

我希望听到一些建议.

谢谢.

php cakephp inflector

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