Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何将符号(例如:标签)作为参数哈希的一部分进行处理_Ruby - Fatal编程技术网

Ruby 如何将符号(例如:标签)作为参数哈希的一部分进行处理

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 />"

我在阅读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
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