gpt4 book ai didi

ruby-on-rails - 揭秘 Ruby ERB 代码

转载 作者:数据小太阳 更新时间:2023-10-29 08:27:14 27 4
gpt4 key购买 nike

Ruby on Rails 新手问题...

考虑以下代码(在 View 中):

<div class="meta">
<%= link_to time_ago_in_words(status.created_at) + " ago", status %> |
<span class="admin">
<%= link_to "Edit", edit_status_path(status) %> |
<%= link_to "Delete", status, method: :delete, data: { confirm: "Ya sure?" } %>
</span>
</div>

在 ERB 标签中调用的一些方法对我来说就像魔法一样,我正试图揭开它们的神秘面纱。如果我不了解代码的底层工作原理,我会觉得使用代码不自在。

有人可以指出以下方法(呃,我认为它们是方法,也许这不是正确的术语)是在哪里定义和/或记录的?

  • edit_status_path()
  • :删除
  • 数据:
  • 确认:

最佳答案

这里只有一种方法:edit_status_path。它是在您的路由文件 (config/routes.rb) 中创建的,很可能是由另一种名为 resources 的方法创建的(在本例中为 resources :statuses)。

:delete 不是一个方法,它是一个符号:http://www.ruby-doc.org/core-2.1.2/Symbol.html

data: 单独在 ruby​​ 中没有意义,它总是带有第二部分(如 data: value)。它是 Hash 对象的 ruby​​ 语法:http://www.ruby-doc.org/core-2.1.2/Hash.html , 使用符号作为键。所以

{a: 1}

相同
{:a => 1}

如果我不理解它在引擎盖下是如何工作的,我就不会使用代码。 - 我完全理解你。我强烈建议您在开始学习 Rails 之前先阅读一些 Ruby 书籍(而不是 Ruby on Rails)(然后再从一本好书开始)。我开始从 Rails 学习 ruby​​ 的事实是我讨厌这种语言几个月然后才爱上它的原因。

关于ruby-on-rails - 揭秘 Ruby ERB 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24005627/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com