一个带右侧符号的单词是一个哈希键吗?

时间:2017-07-30 13:12:51

标签: ruby-on-rails ruby literals

before_action :find_item, only: [:show, :edit, :update, :destroy]

link_to "Delete", item_path(@item), method: :delete, data: { confirm: "Are you sure?"}

我不确定右侧带有符号的单词是什么:

only: ...

method: ..., data: ...

表示。我知道这些是方法的参数,但如果这些是哈希键,我不知道为什么没有任何花括号。

2 个答案:

答案 0 :(得分:3)

当您使用散列作为方法的最后一个参数时,Ruby允许您省略花括号,这使得参数列表看起来更好。这些调用转换为

before_action(:find_item, {only: [:show, :edit, :update, :destroy]})

<%= link_to("Delete", item_path(@item), {method: :delete, data: { confirm: "Are you sure?"}}) %>

答案 1 :(得分:0)

单词前面带<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <table class="table table-striped"> <thead> <tr> <th>Column 1</th> <th>Column 2</th> <th>Column 3</th> <th>Column 4</th> </tr> </thead> <tbody> </tbody> </table>的单词只是符号 之后拥有它的是具有值

的符号
:

在此示例中,method: :delete 的值为(空)符号method 它等同于将其写为:delete