Ruby 如何将符号(例如:标签)作为参数哈希的一部分进行处理
我在阅读O'Reilly关于Ruby on Rails的书中的示例代码时遇到了以下问题:Ruby 如何将符号(例如:标签)作为参数哈希的一部分进行处理,ruby,Ruby,我在阅读O'Reilly关于Ruby on Rails的书中的示例代码时遇到了以下问题: def label_for(method, options={}) extra = "" if options[:required] extra = " <span class='required_mark'>*</span>" end label(:label || method) + extra + "<br />"
def label_for(method, options={})
extra = ""
if options[:required]
extra = " <span class='required_mark'>*</span>"
end
label(:label || method) + extra + "<br />"
end
def label_for(方法,选项={})
extra=“”
如果选项[:必需]
额外=“*”
结束
标签(:标签| |方法)+额外+“
”
结束
我知道options
是一个散列,但是它怎么能够仅仅用:label
调用label
——它不应该说options[:label]
谢谢 是的,我相信是这样,否则
:label
符号将始终作为方法
名称传递给label
助手。它应该是选项[:label]
,除非作者真的有其他想法。因为:label | | method
总是返回:label
,然后传递给label方法 你说得对
label(options[:label] || method) + extra + "<br />"
label(选项[:label]| |方法)+extra+“
”
哈哈,大家都这么说。。。因打字错误而落榜:-)祝贺@khelll和@Chirantan