2015-06-28 76 views
-2

我在學習Ruby on Rails教程,目前正在瀏覽嵌入式Ruby的html(.html.erb)文件部分。是否有必要在HTML文件中使用嵌入式Ruby?除了代碼可重用性之外,還有其他優點嗎?我試圖儘可能簡單地學習過程,如果可能的話,我想跳過嵌入的Ruby/html部分。是否有必要在Rails中使用嵌入式Ruby?

+0

如果您只想編寫一些靜態HTML頁面,確定它可能會跳過嵌入的Ruby部分。但是那麼使用Rails有什麼意義呢? –

回答

1

是的,這是必要的。否則,您將很難在您的網站上顯示動態內容。

ERB代碼提取您在控制器中設置的數據並將其顯示在頁面上。不要害怕ERB。它基本上只是簡單的Ruby包圍在一對標籤之間以隔離HTML代碼。如果你不使用ERB,你將不得不想出其他方式來顯示你的動態內容。因此無論哪種方式,您都必須學習能夠從數據庫中提取數據並輸出動態HTML代碼的內容。對於Rails ERB是選擇的語法。

+0

明白了。我想我誤解了ERB的全部功能,以及它如何適應其他Rails框架。謝謝你的答案。 – gonzolad

1

那麼爲什麼要使用Rails?整個過程就是要生成動態頁面,並且使視圖動態化的唯一方法是通過混合使用編程語言。 ERB就是這麼做的。幸運的是,該局是非常普通的老紅寶石:

# 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還可以派上用場,適用於其他需要用數據填充某種文本模板的大量其他情況。

相關問題