【发布时间】:2014-08-16 18:53:20
【问题描述】:
我想创建一个具有大小参数的视图助手(例如func(size))。问题是这个大小必须在函数中用作符号。例如,如果我将'medium' 传入func,我需要将其转换为:medium。
我该怎么做?
【问题讨论】:
-
您是在问如何将字符串转换为符号?
-
是的,我是 ruby 新手
标签: ruby-on-rails ruby
我想创建一个具有大小参数的视图助手(例如func(size))。问题是这个大小必须在函数中用作符号。例如,如果我将'medium' 传入func,我需要将其转换为:medium。
我该怎么做?
【问题讨论】:
标签: ruby-on-rails ruby
有很多方法可以做到这一点:
如果你的字符串没有空格,你可以这样:
"medium".to_sym => :medium
如果你的字符串有空格,你应该这样做:
"medium thing".gsub(/\s+/,"_").downcase.to_sym => :medium_thing
或者如果您使用的是 Rails:
"medium thing".parameterize.underscore.to_sym => :medium_thing
【讨论】:
您可以使用以下方法将字符串转换为符号:
string = "something"
symbol = :"#{string}"
【讨论】:
string.to_sym
或者只是
a = :'string'
# => :string
【讨论】: