如何将符号(例如:标签)作为参数哈希的一部分进行处理(How is a symbol (ex. :label) handled as part of a parameter hash)
我正在查看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 />" end我知道options是一个哈希,但它如何能够只用:label调用:label - 不应该说options[:label] ?
谢谢!
I was looking at example code from the O'Reilly book on Ruby on Rails and ran across this:
def label_for(method, options={}) extra = "" if options[:required] extra = " <span class='required_mark'>*</span>" end label(:label || method) + extra + "<br />" endI understand that options is a hash, but how is it able to call label with just :label -- shouldn't it need to say options[:label] ?
Thanks!
最满意答案
是的,我相信,否则:label符号将始终作为method名称传递给label助手。
Yes, I believe so, otherwise the :label symbol will always be passed as a method name to label helper.
更多推荐
发布评论