ruby - 如何将 .rb 文件中的值渲染到 .erb 文件中

标签 ruby sinatra frontend

我对 Ruby 没有太多经验,我不想做的就是在 .erb 文件中呈现我在 .rb 文件中声明的值。

在我的 .rb 文件中我有这个:

def abc()
  begin
     "aaaaa"
  end
end

在我的 .erb 文件中我有这个:

Hello <% abc %>

当我运行该应用程序时,我只会看到:

Hello

但我希望看到:

Hello aaaa

任何人都可以帮帮我,我对 ruby 一窍不通。我也不知道这是 ruby​​ 还是 ruby​​ on rails,如果下面的标签有误,我深表歉意。

最佳答案

在 Sinatra 中,将您的方法注册为 .rb 文件中的助手:

helpers do 
  def abc
    "aaaaa"
  end 
end

如果您的方法不需要参数,请省略括号。另外,begin/end这里不需要 block 。 您可以在 .erb 模板中调用您的助手:

<%= abc %>

别忘了 =在开始标签中。

http://sinatrarb.com/intro.html “ helper ”部分。

关于ruby - 如何将 .rb 文件中的值渲染到 .erb 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48424851/

相关文章:

ruby-on-rails - Rspec/ capybara `js : true` issue

ruby - '错误 : Cannot open "/home/<...>/billy-bones/=" for reading' while using pry and DataMapper

mysql - 与 ActiveRecord 和 Sinatra 的多维 JOIN

sinatra - 如何在Sinatra中使用coffeescript

forms - 使用 AJAX 和初始本地数据的 Select2

node.js - Meteor - 可以先开发后端,后端完成后再开发前端吗?

mysql - activerecord 3.2.2 与多个连接的关联问题

ruby - 如何匹配一堆数字后的非字母和非数字?

html - 客户端 : HTML, DOM 和 CSS?

ruby - 如何使用 octokit 列出我自己的 github 存储库