我在學習Ruby on Rails教程,目前正在瀏覽嵌入式Ruby的html(.html.erb)文件部分。是否有必要在HTML文件中使用嵌入式Ruby?除了代碼可重用性之外,還有其他優點嗎?我試圖儘可能簡單地學習過程,如果可能的話,我想跳過嵌入的Ruby/html部分。是否有必要在Rails中使用嵌入式Ruby?
-2
A
回答
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還可以派上用場,適用於其他需要用數據填充某種文本模板的大量其他情況。
相關問題
- 1. 在Ruby Rails中嵌入URL?
- 2. 使用Ember.js時,是否有必要構建Rails視圖?
- 3. 是否有必要使用xlib的「XAllocSizeHints()」?
- 4. 是否有必要使用addTestDevice?
- 5. 是否有必要使用InitCommonControlsEx()和InitCommonControls()?
- 6. 在Vim的嵌入式Ruby中有沒有辦法使用Gems?
- 7. 是否有必要在rails中索引has_one關聯
- 8. 是否有必要有base64_encode
- 9. Ruby on Rails - 在.js.erb中修改嵌入式Ruby的一部分
- 10. 是否有必要在rails上的ruby中的MySqlWorkBench中執行模式更改的遷移?
- 11. 嵌入式Ruby可以在Rails之外使用嗎?
- 12. 是否有必要以RSS feed格式使用CDATA?
- 13. Ruby on Rails顯示嵌入式模型
- 14. 是否有必要在下面的代碼中使用ajax?
- 15. 是否有必要在使用Junit TDD的方法中返回?
- 16. 是否有必要在Linq中使用連接到SQL
- 17. 是否有必要使用@在sql server中創建表變量?
- 18. 是否有必要在ArrayList中使用泛型?
- 19. 是否有必要在Python中使用Mongodb的ODM框架?
- 20. 如何在Rails ruby中訪問rails helper和嵌入式ruby資產JavaScript文件?
- 21. 在rails中嵌入ruby語法「<%= .. %>」
- 22. 在Ruby on Rails中嵌入博客
- 23. 是否有必要在C#中加入我的線程
- 24. 要在Ruby on Rails中使用@還是不要@
- 25. Ruby on Rails - 事務是否使用嵌套對象?
- 26. Ruby on Rails:嵌入式Ruby無法在導入的LESS文件中工作?
- 27. 使用Ruby on Rails在網頁中嵌入瀏覽器
- 28. 調用ZipArchive :: close() - 是否有必要?
- 29. 線程是否必要/有用?
- 30. 是否有必要調用ApplicationContext.start
如果您只想編寫一些靜態HTML頁面,確定它可能會跳過嵌入的Ruby部分。但是那麼使用Rails有什麼意義呢? –