如何在Ruby符号中跳出破折号“ – ”?

我在Ruby On Rails上使用jquery-mobile。

我想创build一个button链接,这意味着在生成的HTML中出现data-role="button"

我试过了:

 <%= link_to "Play", game_play_path, :data-role => "button" %> 

但是,然后,我得到一个错误

 undefined local variable or method `role' for #<#<Class:0x007fdc25668ee8>:0x007fdc25658610> 

有没有办法使用:xxx符号来避开短划线,还是应该使用"xxx"符号?

(我同意这是一个化妆品的问题,但我希望我的代码是一致的,不喜欢例外)

4 Solutions collect form web for “如何在Ruby符号中跳出破折号“ – ”?”

使用冒号前缀在符号名称周围使用单引号:

 :'data-role' => 'button' 

这里是对符号的一个很好的参考:

http://www.troubleshooters.com/codecorn/ruby/symbols.htm#_What_do_symbols_look_like

如果你发现语法<%= link_to "Play", game_play_path, :"data-role" => "button" %>丑陋,因为它使用旧的哈希语法,另一种方法是使用ruby 1.9语法进行哈希是做到以下几点:

 <%= link_to "Play", game_play_path, data: {role: "button"} %> 

散列重叠在html输出中生成数据和angular色之间的连字符。

要小心,因为这只适用于数据属性,但在你的情况下,这是一个更令人愉快的select。

另外,如果你有更多的数据属性,你可以把它们写在嵌套的哈希中:

 <%= link_to "Play", game_play_path, data: {role: "button", other1: "value1", other2: "value2"} %> 

用单引号把它包起来:

 :'data-role' => "button" 
 <%= link_to "Play", game_play_path, :"data-role" => "button" %> 
  • Rails has_and_belongs_to_many迁移
  • 确定Rubygem的位置
  • rmagick gem install“找不到Magick-config”
  • 尝试安装pg gem时找不到'libpq-fe.h头文件
  • 没有路线匹配“/ users / sign_out”devise轨道3
  • 我怎样才能密码保护我的/ sidekiq路线(即要求authentication的Sidekiq :: Web工具)?
  • 为什么参数中的一个点的路由不匹配?
  • 使用Rails link_to发布链接
  • Rails:如何链接范围查询与OR而不是AND?
  • 水豚与:js =>真实导致testing失败
  • 我如何检查一个类是否被定义?