ruby-on-rails 有必要使用嵌入式Ruby on Rails吗?[已关闭]

vybvopom  于 2023-02-26  发布在  Ruby
关注(0)|答案(2)|浏览(139)

已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新此问题,以便editing this post可以用事实和引文来回答。

七年前就关门了。
Improve this question
我正在学习 The Ruby on Rails Tutorial,目前正在浏览html(.html.erb)文件中嵌入式Ruby的章节。是否有必要在html文件中使用嵌入式Ruby?除了代码可重用性之外,是否还有其他主要优势?我正在尽可能简化学习过程,如果可能,我希望跳过嵌入式Ruby/html部分。

k2fxgqgv

k2fxgqgv1#

是的,这是必要的。否则你将很难在你的网站上显示动态内容。
ERB代码提取您在控制器中设置的数据并显示在页面上。不要害怕ERB。它基本上只是由几个标记包围的普通Ruby,以与HTML代码隔离。如果您不使用ERB,您将不得不想出一些其他方法来显示您的动态内容。所以无论哪种方式,你都必须学习一些可以从数据库中提取数据并输出动态HTML代码的东西。对于Rails,ERB是所选择的语法。

u3r8eeie

u3r8eeie2#

那么为什么要使用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还可以在许多其他需要用数据填充某种文本模板的情况下派上用场。

相关问题