区别:target =>'_ blank'和target:="_ blank"

gle*_*nnm 0 ruby

我最近问了一个关于在新页面中打开链接的问题(继续链接).我发现有两个答案.

:target => '_blank' 
target: "_blank"
Run Code Online (Sandbox Code Playgroud)

我希望有人可以解释单引号和双引号之间的区别以及为什么上述两种方法都有效.我理解第二个选项只能在更新版本的rails上实现(我使用的是3.2.2).

Siw*_*申思维 5

基本上,这是Ruby的哈希,(有关更多信息,请参阅"@mu is too shot"的资源)

# always works (works both in Ruby 1.8 and 1.9)
:target => '_blank'    

# works in 1.9 only 
target: "_blank"
Run Code Online (Sandbox Code Playgroud)

他们俩都可以分配哈希的元素.

但是下面的代码不正确.

# this is incorrect
target: = "_blank"
Run Code Online (Sandbox Code Playgroud)

  • 但是`=>`仍然不是1.8的东西,它完全有效并且通常在1.9中是必要的.是的,我正在讨论反对闪亮的新(和破碎)替代哈希文字语法:) (2认同)