是否有必要在Rails中使用嵌入式Ruby?

时间:2015-06-28 12:30:55

标签: html ruby-on-rails ruby

我正在学习 Ruby on Rails教程,目前正在浏览嵌入式Ruby中的html(.html.erb)文件。是否有必要在html文件中使用嵌入式Ruby?除了代码可重用性之外还有哪些主要优势?我正在尝试尽可能简单地学习过程,如果可能的话我想跳过嵌入式Ruby / html部分。

2 个答案:

答案 0 :(得分:1)

是的,这是必要的。否则,您将很难在您的网站上显示动态内容。

ERB代码会提取您在控制器中设置的数据并在页面上显示该数据。不要害怕再培训局。它基本上只是普通的Ruby,周围有几个标签,可以与HTML代码隔离开来。如果您不使用ERB,则必须采用其他方式来显示动态内容。因此,无论哪种方式,您都必须学习能够从数据库中提取数据并输出动态HTML代码的内容。对于Rails,ERB是选择的语法。

答案 1 :(得分:1)

那为什么要使用Rails?重点是生成动态页面,使视图动态化的唯一方法是混合使用编程语言。 ERB就是这么做的。值得庆幸的是,ERB几乎是老Ruby:

# app/controllers/posts_controller.rb
class PostsController
  def index
    @posts = Post.all
  end
end

# app/views/posts/index.html.slim
<ul>
  <% @posts.each do |post| %>
    <li><%= post.title %></li>
  <% end %>
</ul>

# which is remarkably similar to the following...
output = "<ul>"
@posts.each do |post|
  output << "<li>#{post.title}</li>"
end
output << "</ul>"

除非您计划将Rails视为JSON API并运行JavaScript应用程序,否则您必须扣紧并学习ERB。

除了Rails之外,ERB还可以派遣大量其他需要用数据填充某种文本模板的情况。