我使用了parameterize
方法。我想取消参数化。有没有办法与parameterize
相反?
答案 0 :(得分:14)
不,没有。 parameterize
是一种有损转换,您无法将其转换回来。
这是一个例子。转换时
My Awesome Pizza
到
my-awesome-pizza
您不知道原始字符串是否
My Awesome Pizza
MY AWESOME PIZZA
等。这是一个简单的例子。但是,正如您在source code中看到的那样,某些字符会被删除或转换为分隔符(例如逗号),您将无法恢复它们。
如果您只想进行近似转换,只需将破折号转换为空格,修剪多个空格并应用适当的大小写转换。
答案 1 :(得分:8)
我和Simone一起参演了这个,但你可以随时使用
def deparametrize(str)
str.split("-").join(" ").humanize
end
:)
答案 2 :(得分:0)
Rails中有titleize
(source):
"this-is-my-parameterized-string".titleize
=> "This Is My Parameterized String"
"hello-world foo bar".titleize
=> "Hello World Foo Bar"
如上所述,这不会将字符串恢复为其预参数化的形式,但是如果这不是一个问题,那么这可能会有所帮助!