加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 为什么每个方法都需要将循环的值赋给变量?

发布时间:2020-12-17 01:43:41 所属栏目:百科 来源:网络整理
导读:在Rails上工作,发现我对每种方法的理解缺乏知识. 不知道为什么每个方法都需要变量| message | % @messages.each do |message| % h2%= message.title %/h2 %= link_to "View Message",message_path(message),class: "btn btn-default" %% end % 解决方法 在循
在Rails上工作,发现我对每种方法的理解缺乏知识.

不知道为什么每个方法都需要变量| message |

<% @messages.each do |message| %>
    <h2><%= message.title %></h2>
    <%= link_to "View Message",message_path(message),class: "btn btn-default" %>
<% end %>

解决方法

在循环遍历@messages时,您需要某种方式来引用每个元素以使其可用于您的代码. Ruby通过将每个元素一次作为变量传递给块来完成此操作.管道语法在Ruby中用于命名任何块上下文中的块变量,而不仅仅是每个块上下文.

当你在@messages上迭代时,每个元素应该被称为消息,Ruby不会自己决定.您需要明确地做出该决定并在管道中分配变量名称.您不需要调用变量消息.你可以称之为hot_dog.但是你需要将元素分配给某个东西,否则你将无法访问它以及循环的重点是什么?

<% @messages.each do |hot_dog| %>
    <h2><%= hot_dog.title %></h2>
    <%= link_to "View Message",message_path(hot_dog),class: "btn btn-default" %>
<% end %>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读