如何在 html.erb 文件中运行多行 Ruby

2023-12-30

我正在使用 Ruby on Rails,需要在我的 html.erb 文件之一中运行一段 Ruby 代码。我这样做吗:

<% def name %>
<% name = username %>
<%= name %>

或者像这样:

<% def name
name = username %>
<%= name %>

谢谢阅读。


如果您的视图中需要额外的函数,通常您可以在助手中声明它们。

对于每个控制器,如果有助手,它会自动加载。例如,如果您有一个 PeopleController,则在app/helpers文件夹中应该有一个people_helper.rb,它应该看起来像这样

module PeopleHelper
  def name
    #do something
    username
  end
end

另一种非常干净的选择是使用主持人 http://www.subelsky.com/2008/01/presenter-classes-help-with-rails.html pattern http://www.google.com/search?q=rails+presenter,但我认为这种情况不太常见(不幸的是)。

否则,如果您确实需要在 erb 视图中包含多行 ruby​​ 代码(我试图避免这种情况),我更喜欢以下样式:

<%
   counter_1 = 0
   counter_2 = 1
   do_some_more_prep_here
 %>
<% @records.each do |rec|%>
  <%# do something with the prepped date in each row %>
<% end %>

另外对我来说,代码缩进比 html 缩进更重要,所以我更喜欢类似的东西

<table> 
  <% @rows.each do |row| %>
    <tr>
      <td><%= row.item1 %></td>
      <% if row.some_test %>
        <td><%= row.item2 %></td>
      <% end %>
    </tr>
  <% end %>
</table>

但我总是很想听到关于这件事的不同意见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 html.erb 文件中运行多行 Ruby 的相关文章

  • Rails 没有选择 en.yml 中的自定义日期和时间格式

    我对 Rails 中的 I18N 不太熟悉 所以请耐心等待 尝试设置自定义日期和时间格式 config locales en yml en date formats long dateweek A B d Y time formats ve
  • 在 Ruby 文档中哪里可以找到字符串转义序列?

    我可以在 中找到有关 Ruby 转义序列的详细信息 红宝石弦 http www tutorialspoint com ruby ruby strings htm and 转义序列 http en wikibooks org wiki Rub
  • 耙子的目的是什么?

    我知道 Rake 代表 Ruby Make 而且我知道 Make 是一个 Unix 构建实用程序 现在 我来自 Xcode 工作 将 iPhone 应用程序构建到 Ruby 所以我以前从未使用过 Make 我唯一使用 rake 的时候是在
  • 新分配的序列不起作用

    在 PostgreSQL 中 我创建了一个新表并为其分配了一个新序列id柱子 如果我从 PostgreSQL 控制台插入记录 它可以工作 但是当我尝试从 Rails 导入记录时 它会引发异常 无法找到关联的序列 这是表格 d user me
  • Bootstrap Typeahead 仅显示第一个字母

    我很难让 Twitter Bootstrap 的 Typeahead 正常工作 Typeahead 仅匹配输入的第一个字母 我在预输入框中的结果看起来像 n n n N N n 我的代码是 有人可以帮忙吗 检查 html 中输出的数据源属性
  • 为什么将 Backbone.js 与 Rails 结合使用? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • JRuby:带有 Ruby 块的 Java 命令模式:为什么它有效?

    我正在学习如何将 Java 库与 Ruby 代码集成 并提出以下问题 我有一个用Java实现的命令模式 如下所示 public interface Command public String execute String param pub
  • 在 rspec 中打印响应

    我有一个测试无法开始工作 所以我想通过打印响应来调试我的规范 我尝试过使用print response body在我的规范中 但 test log 或控制台中都没有输出 我可能错过了一些东西 我应该尝试什么 Thanks 您可以使用以下方式
  • 将 ERB 与 Handlebars 模板结合使用

    我有一个使用 ajax 创建新标签的模式 它使用 Tags 参数执行 POST 方法 而无需重新充电视图 因此 我希望根据所选的 price type 参数来呈现一个或另一个价格 div 我使用 Handlebars 所以我想这不是 rub
  • 学习树顶

    我正在尝试自学 Ruby 的 Treetop 语法生成器 我发现 对于 最好的 文档来说 不仅文档非常稀疏 而且它的工作方式似乎并不像我希望的那样直观 从高层次上来说 我真的很喜欢比现场文档或视频更好的教程 如果有的话 在较低的层面上 这是
  • Rails/Passenger/Node.js:ExecJS“找不到 JavaScript 运行时”

    我正在尝试使用 Node js 作为我的 Rails 应用程序的 JavaScript 运行时 我在 Ubuntu 12 0 4 上使用 Phusion Passenger 模块和 Nginx 作为我的 Web 服务器 每次我访问 Rail
  • YAML 每个缩进有多少个空格?

    如果我在每个缩进级别使用一个空格 两个或四个空格 有什么区别吗 YAML 每个结构类型的空间数量有什么具体规则吗 例如4嵌套空间maps 1每空间项目清单 etc 我正在为 elastic beanstalk ebextensions 编写
  • Ruby on Rails:如何使用 JSONPath 访问(并保存到数据库)JSON 数组中的嵌套对象/属性?

    我正在尝试将 JSON 对象数组中的数据播种到我的数据库中 我有两个单独的数据库表 属性和单位 一个属性有许多单位 我已经能够通过 API 请求 JSON 数据 然后将其播种到数据库 成功地对属性信息 属性模型 执行此操作 但是 Valua
  • 如何在 Rails ActiveRecord 中的日期指定小于今天的条件

    我正在尝试找出如何提取我的集合中的所有记录的字段publish是真的并且expires比今天少 我有以下内容 但我认为小于部分不起作用 有人可以指出我正确的轨道吗 Announcement where publish true expire
  • 如何停止 Heroku 服务器?

    我有一个托管在 heroku 上的临时服务器 我只想将其关闭 但不想破坏该应用程序 我该怎么做 我是否有类似 heroku stop 之类的命令 例如 heroku restart 来重新启动 OR 有没有办法让服务器在超过 750 小时免
  • 将 UTF-8 设置为 Heroku 中的默认字符串编码

    我需要在 Heroku 中将默认的 ruby 字符串编码更改为 UTF 8 由于某种原因它是 US ASCII heroku console Ruby console for myapp heroku com gt gt a encodin
  • 在社交媒体 Ruby On Rails 上共享链接时的小预览

    我正在开发一个前端位于的网站angularjs和后端ROR Same ROR API用于android app还 现在我这里有一个情况 我需要在社交媒体上分享我的网站帖子 例如facebook twitter and google plus
  • Rails 3.1 中的嵌套表单

    我在嵌套表单方面遇到问题 rails 3 1 在应该渲染 fields for 块时不渲染 fields for 块 例如 在编辑现有记录时 由于我对自己的英语不够自信 我制作了一个小示例应用程序 新行动 def new manga Man
  • Delayed_job不会运行用户定义的方法

    我一直在尝试让 DelayedJob 在后台运行一些用户定义的方法 对于这个测试用例 我在助手中定义了以下方法 def test case u User new u first name JimBob u last name joe u e
  • 相当于 JavaScript 中 Ruby 的each_cons

    许多语言都曾提出过这个问题 但 javascript 却没有 Ruby 有方法Enumerable each cons https devdocs io ruby 2 5 enumerable method i each cons看起来像这

随机推荐