[英]Ruby on Rails - What does this symbol mean: <%- … -%> in erb?
[英]Ruby on Rails: what does the => symbol mean?
我正在通过Head First Rails工作,我一直看着=>
。 它在路线中:
map.connect '/marmots/new', controller=>'marmots', :action=>'new'
这是在渲染部分:
render :partial=>"new_marmot"
它是链接的选项:
<%= link_to 'Destroy', marmot, :confirm=>'Are you sure?', :method=>:delete %>
基本上, =>
似乎意味着'等于',但如果是这样,为什么不使用等号呢? 它更像是“发送给谁?”
你怎么发音=>你明白这是什么意思? 我可以在不知情的情况下过去,但它让我烦恼。
我听说它通常被称为“哈希火箭”。 它是与ruby中的哈希一起使用的赋值运算符。 因此,如果您有一个哈希并想要为键(通常是文字)分配值,请使用
{key1 => value1, key2 => value2}
Rails和其他Ruby代码经常将哈希作为参数传递给方法,以实现与其他语言(如Python)中的命名参数相同的效果。
object.method({:param1 => value1, :param2 => value2})
编辑:阅读时,我使用“获取”作为动词,例如。 param1获取value1等
您的第一个函数调用是一个快捷方式
map.connect('/marmots/new', {:controller=>'marmots', :action=>'new'})
其中{}是Hash-literal。 对象映射的方法connect的第二个参数是Hash类的对象,它有两个键:controller和:action(两者都是Symbol类的文字),其对应的值是两个字符串'marmots'和'new'。
编辑:我称之为“箭头”或“映射到”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.