嘿傢伙,聖誕快樂!關於Ruby on Rails的一般疑問
我是新來的Ruby on Rails和我還是有點困惑的一些東西:
我什麼時候需要什麼時候不創建一個新的控制器和?
我想用一個搜索框創建一個應用程序並搜索所有文章。我應該爲首頁(搜索框)和搜索創建一個控制器嗎?我應該爲靜態頁面創建控制器嗎?
我應該使用管理界面寶石還是創建自己的?
正常用戶現在應該有權創建文章,只需管理員。我應該使用其中一個管理界面寶石還是創建自己的?
嘿傢伙,聖誕快樂!關於Ruby on Rails的一般疑問
我是新來的Ruby on Rails和我還是有點困惑的一些東西:
我什麼時候需要什麼時候不創建一個新的控制器和?
我想用一個搜索框創建一個應用程序並搜索所有文章。我應該爲首頁(搜索框)和搜索創建一個控制器嗎?我應該爲靜態頁面創建控制器嗎?
我應該使用管理界面寶石還是創建自己的?
正常用戶現在應該有權創建文章,只需管理員。我應該使用其中一個管理界面寶石還是創建自己的?
Ruby on Rails遵循MVC框架,控制器是包含您的操作的類,所以您需要爲您的網站將提供的每個功能添加一個操作。 從技術上講,您可以在一個控制器中執行所有操作,但這會非常糟糕,所以我們通常會創建不同的控制器來更好地組織您的路由和代碼。 Follow the Rails guide on controllers.
Ruby on Rails確實是MVC,這意味着控制器將模型連接到視圖。因此,總的來說,考慮更多資源導向是一種很好的做法:每個想要找到/呈現的資源都需要創建一個控制器。你的情況是這樣的:
ArticlesController
:你的主要觀點,與搜索框PagesController
:對於靜態頁面,如果你需要一些ERB/HAMLadmin/ArticlesController
:對物品的管理現在,完全靜態的頁面可以放置在public
文件夾下,除非需要一些動態信息(例如文章總數),否則無需控制器。
關於您的搜索框:恕我直言,這只是您的索引頁面的一個參數。例如。在索引上顯示最近的十篇文章,並在搜索某個詞時,顯示相關文章,但是在相同的控制器和相同的操作上。
關於管理界面:是的,使用像rails_admin或active_admin這樣的寶石,它會讓你立即開始。所以一定要這樣做。但這些寶石當然是非常普遍的,可能完全不適合您的需求。它應該是這種情況,你可以隨時輕鬆恢復。
HTH。
非常感謝您的答案。現在一切都更加清晰。 – nohayeye
ActiveAdmin寶石也值得一看 – Nazar