如何在rails中将句子更改为模型名称

时间:2015-04-15 19:31:31

标签: ruby-on-rails ruby ruby-on-rails-4

我想将字符串product on sale转换为ProductOnSale作为模型名称。

如何实现?

感谢。

4 个答案:

答案 0 :(得分:5)

如果您有一个具有此名称的模型/类,您可以使用constantize将其转换为类名,只需执行以下操作:

"product on sale".constantize

否则,对于一般String,您可以这样做:

"product on sale".split(' ').collect(&:capitalize).join

在Rails环境中,您也可以通过以下方式完成:

"product on sale".camelize.delete(' ')

答案 1 :(得分:3)

modelize = "This is a string".titleize.delete(' ')

答案 2 :(得分:2)

一种方法:

> s = "product on sale"
>  s.titleize.gsub(' ', '')
 => "ProductOnSale" 

答案 3 :(得分:0)

另一种方法:

> string = "product on sale"
> string.gsub(' ','_').classify
  => "ProductOnSale"