我想制作一个视图辅助函数,它具有大小参数(例如func(size)
)。问题在于,这个大小必须在函数中用作符号。例如,如果我将'medium'
传递给func
,我需要将其转换为:medium
。
我该如何做到这一点?
我想制作一个视图辅助函数,它具有大小参数(例如func(size)
)。问题在于,这个大小必须在函数中用作符号。例如,如果我将'medium'
传递给func
,我需要将其转换为:medium
。
我该如何做到这一点?
有几种方法可以做到这一点:
如果您的字符串没有空格,您可以简单地这样做:
"medium".to_sym => :medium
如果您的字符串有空格,您应该这样做:
"medium thing".gsub(/\s+/,"_").downcase.to_sym => :medium_thing
或者如果您正在使用Rails:
"medium thing".parameterize.underscore.to_sym => :medium_thing
参考文献:在Ruby中将字符串转换为符号型能力
string = "something"
symbol = :"#{string}"
string.to_sym
。 - A Fader Darkly或者只是
a = :'string'
# => :string