Dir*_*nry 51 ruby jquery-mobile ruby-on-rails-3
我在Ruby On Rails上使用jquery-mobile.
我想创建一个按钮链接,暗示data-role="button"出现在生成的HTML中.
我试过了:
<%= link_to "Play", game_play_path, :data-role => "button" %>
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个错误
undefined local variable or method `role' for #<#<Class:0x007fdc25668ee8>:0x007fdc25658610>
Run Code Online (Sandbox Code Playgroud)
有没有办法用:xxx符号来逃避破折号,还是我应该使用"xxx"符号?
(我同意这是一个美化问题,但我希望我的代码保持一致,不喜欢异常)
And*_*icz 88
在符号名称周围使用单引号,使用冒号前缀:
:'data-role' => 'button'
Run Code Online (Sandbox Code Playgroud)
这里有一个很好的符号参考:
http://www.troubleshooters.com/codecorn/ruby/symbols.htm#_What_do_symbols_look_like
Dan*_*tic 15
如果您发现语法<%= link_to "Play", game_play_path, :"data-role" => "button" %>难看,因为它使用旧的哈希语法,另一种方法是使用ruby 1.9语法进行哈希处理,请执行以下操作:
<%= link_to "Play", game_play_path, data: {role: "button"} %>
Run Code Online (Sandbox Code Playgroud)
哈希重叠在html输出中生成数据和角色之间的连字符.
要小心,因为这只适用于数据属性,但在你的情况下,这是一个更令人愉悦的选择.
此外,如果您有更多数据属性,您也可以在嵌套哈希中编写它们:
<%= link_to "Play", game_play_path, data: {role: "button", other1: "value1", other2: "value2"} %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18641 次 |
| 最近记录: |