Ruby on rails 右边有符号的单词是散列键吗?
在 我不确定右边有符号的单词是什么:Ruby on rails 右边有符号的单词是散列键吗?,ruby-on-rails,ruby,literals,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?"} 代表。我知道这些是方法的参数,但如果这些是散列键,我不知道为什么没有大括号。当您使用散列作为方法的最后一个参数时,Ruby允许您省略大括号,这使参数列表
before_action :find_item, only: [:show, :edit, :update, :destroy]
link_to "Delete", item_path(@item), method: :delete, data: { confirm: "Are you sure?"}
代表。我知道这些是方法的参数,但如果这些是散列键,我不知道为什么没有大括号。当您使用散列作为方法的最后一个参数时,Ruby允许您省略大括号,这使参数列表看起来更漂亮。这些电话转化为
only: ...
method: ..., data: ...
在\操作之前(:查找\项,{only:[:显示,:编辑,:更新,:销毁]})
当您使用散列作为方法的最后一个参数时,Ruby允许您省略大括号,这使参数列表看起来更好。这些电话转化为
only: ...
method: ..., data: ...
在\操作之前(:查找\项,{only:[:显示,:编辑,:更新,:销毁]})
单词前面带有:
的单词只是符号
后面有符号的是带有值的符号
before_action(:find_item, {only: [:show, :edit, :update, :destroy]})
<%= link_to("Delete", item_path(@item), {method: :delete, data: { confirm: "Are you sure?"}}) %>
在此示例中,方法的值为(空)符号:delete
这就相当于把它写成{:method=>:delete}
在单词前面加:
的单词只是符号
后面有符号的是带有值的符号
before_action(:find_item, {only: [:show, :edit, :update, :destroy]})
<%= link_to("Delete", item_path(@item), {method: :delete, data: { confirm: "Are you sure?"}}) %>
在此示例中,方法的值为(空)符号:delete
实际上,这相当于将其写成{:method=>:delete}
。您可以使用标准的哈希表示法(:only=>[…]
)使其更加清晰。您可以使用标准的哈希表示法(:only=>[…]
)使其更加清晰。