san*_*ank 8 ruby ruby-on-rails
我用的parameterize方法.我想取消参数化.有没有办法做相反的事情parameterize?
Sim*_*tti 14
不,那里没有.parameterize是一种有损转换,你无法将其转换回来.
这是一个例子.当你转换
My Awesome Pizza
Run Code Online (Sandbox Code Playgroud)
成
my-awesome-pizza
Run Code Online (Sandbox Code Playgroud)
你不知道原来的字符串是不是
My Awesome Pizza
MY AWESOME PIZZA
Run Code Online (Sandbox Code Playgroud)
这是一个简单的例子.但是,正如您从源代码中看到的那样,某些字符被剥离或转换为分隔符(例如逗号),您将无法恢复它们.
如果您只想进行近似转换,则只需将破折号转换为空格,修剪多个空格并应用适当的大小写转换.
小智 11
在 Rails 中有titleize(来源):
"this-is-my-parameterized-string".titleize
=> "This Is My Parameterized String"
Run Code Online (Sandbox Code Playgroud)
"hello-world foo bar".titleize
=> "Hello World Foo Bar"
Run Code Online (Sandbox Code Playgroud)
如上所述,这不会将字符串恢复为其预先参数化的形式,但如果这不是问题,这可能会有所帮助!
我和Simone在一起,但你可以随时随地
def deparametrize(str)
str.split("-").join(" ").humanize
end
Run Code Online (Sandbox Code Playgroud)
:)