Ruby on Rails的新手,所以這可能是一個愚蠢的問題。我有一個應用程序,我可以捆綁我的寶石沒有問題。所以現在我想添加一些主要是靜態頁面。我試着爲它們生成一個控制器,用rails生成控制器MostlyStatic page1 page2。這應該生成名爲mostly_static的控制器和名爲page1和page2的頁面。相反,我會拋出一個錯誤。顯然,generate命令正試圖連接到我尚未創建的數據庫。這些頁面中沒有任何內容應該是數據庫表,所以我對這個時候爲什麼將數據庫引入進程感到有些困惑。我已經瀏覽了各種教程,並且沒有人說要爲靜態頁面生成控制器需要數據庫。所以......我錯過了什麼?我是否需要首先創建數據庫才能生成靜態頁面?而且,如果是這樣,隨後將刪除由該代創建的任何表損害我的應用程序的功能?我真的不想要一堆無用的表格用於靜態頁面。有沒有辦法在沒有數據庫的情況下生成這些頁面和控制器?rails中的控制器生成問題
0
A
回答
0
對於任何人碰到這個問題磕磕絆絆,正確的答案是,數據庫不需要存在,但必須正確配置,如果它沒有在配置文件中。生成控制器實際上並不創建數據庫。
3
您沒有按照慣例生成控制器。生成控制器不會創建數據庫表。您必須致電rails generate model
,rails generate resource
或rails generate scaffold
。
所以你想要一個控制器的幾個靜態頁面。試試這個
rails generate controller static_pages home help contact
注意發生器是複數和蛇情況(static_pages)。這會產生靜電控制器和home.html.erb
,help.html.erb
,並且contact.html.erb
頁
現在,您可以訪問這些動作的頁面控制器
def home
end
def help
end
def contact
end
還需要確保路由設置
# routes.rb
match '/home', to: 'static_pages#home'
match '/help', to: 'static_pages#help'
match '/contact', to: 'static_pages#contact'
沒有建立數據庫,您可以訪問這些頁面。這就是你需要做的。只需按照約定,像複數控制器和單一模型和軌道照顧的細節。希望這可以讓你開始
UPDATE
響應評論這裏是產生一個控制器的標準輸出。注意我的例子使用haml而不是erb,但是輸出中沒有任何與數據庫相關的內容。
rails g controller static_pages home help contact
create app/controllers/static_pages_controller.rb
route get "static_pages/contact"
route get "static_pages/help"
route get "static_pages/home"
invoke haml
create app/views/static_pages
create app/views/static_pages/home.html.haml
create app/views/static_pages/help.html.haml
create app/views/static_pages/contact.html.haml
invoke rspec
create spec/controllers/static_pages_controller_spec.rb
create spec/views/static_pages
create spec/views/static_pages/home.html.haml_spec.rb
create spec/views/static_pages/help.html.haml_spec.rb
create spec/views/static_pages/contact.html.haml_spec.rb
invoke helper
create app/helpers/static_pages_helper.rb
invoke rspec
create spec/helpers/static_pages_helper_spec.rb
invoke assets
invoke coffee
create app/assets/javascripts/static_pages.js.coffee
invoke scss
create app/assets/stylesheets/static_pages.css.scss
相關問題
- 1. Rails的:生成的控制器語法
- 2. Rails的路由\控制器問題
- 3. ruby on rails xml生成器問題
- 4. Rails控制檯的問題
- 5. Rails - 控制器命名問題
- 6. Rails控制器/路由問題
- 7. Ruby On Rails模型/控制器問題
- 8. Rails「follow」關係控制器問題
- 9. Rspec Ruby on Rails控制器問題
- 10. Rails命名空間控制器問題
- 11. Rails 3 - 避免重複生成由其他控制器生成的視圖中的部分控制器代碼
- 12. Rails - 如何訪問控制器中初始化程序中生成的數據
- 13. Rails資源控制器中的嵌套資源訪問問題
- 14. Rails應用程序生成錯誤:父控制器中的ID
- 15. 在控制器中生成'undefined method'image_path'的Rails旋轉木馬
- 16. 中繼器控制問題
- 17. 生成控制器MVC C#
- 18. 從Rails控制器中的Angular post分析參數的問題
- 19. 如何在Rails 3.1.1.rc1中生成模型/控制器?
- 20. 無法在Rails 3教程中生成頁面控制器
- 21. 在rails控制器中生成Set_model路徑
- 22. LoadRunner的控制器問題
- 23. 在rails控制器中解決類的範圍問題
- 24. Rails生成控制器頁面主頁:幫助器錯誤
- 25. Rspec 2.3的Rails 3.0.3給一些控制器訪問問題?
- 26. 中繼器控制中的列問題
- 27. Rails - 控制器內部的Faker gem生成假名
- 28. Rails 3爲不支持表的模型生成控制器
- 29. Rails的PDF蝦數據生成從控制器
- 30. Rails - 從控制器生成類似模式的「flash」
儘管我很欣賞嘗試提供幫助,但您在這裏所說的大部分內容並不準確。即使生成的控制器是蛇形,您也可以使用駱駝或蛇殼來生成控制器。至於嘗試[代碼]鐵軌生成控制器static_pages家庭幫助聯繫[/ code],這基本上是我第一次嘗試。確切地說,我仍然得到數據庫錯誤後。我找不到任何參考文獻,但在控制器之前的數據庫的新版本中必須有一些規則。 –
作爲我的觀點的參考:駱駝案件與蛇案件,請參閱本麥克哈特爾指南3.4節,這應該是最好的。雖然我會承認在本指南中,實際上在這一部分,他說在數據庫顯然不工作之前生成靜態頁面控制器。無論如何,這裏是鏈接。 HTTP://紅寶石。railstutorial.org/chapters/static-pages#sec-static_pages –
我實際上使用該教程作爲示例來向您展示如何生成靜態頁面。生成控制器與數據庫無關。靜態頁面的重點在於它們不會保留數據庫中的數據。它們是靜態的。他們不改變。我認爲你在混合控制器和模型。如果你需要一個數據庫表,只需要生成一個控制器(複數)和一個同名的模型(單數)。或者用「rails生成腳手架」一步完成。我的答案中的信息沒有任何問題。只是提供我的幫助,不應該被拒絕投票。 – fontno