2

我見過一些Rails生成控制器的例子還創建了視圖文件(不僅僅是視圖文件夾)。爲什麼「g controller」也創建視圖文件?

在部分6.4Rails Guide,它顯示一個空的視圖文件夾和沒有視圖文件。這就是我的本地安裝正在做的事情。我沒有得到任何查看文件。

有什麼方法可以讓Rails運行時自動生成視圖文件rails g controller ...?或者,是否更有可能人員手動創建了視圖文件並且沒有顯示該部分?

+1

application.rb與該問題無關;) – weezing

回答

4

改爲使用rails generate scaffold,它將在一次操作中爲您生成模型,視圖和控制器文件。

如果要在單個操作中爲新的 資源創建模型,視圖和控制器,則腳手架是該作業的工具。

如:

rails g scaffold Post name:string title:string content:text 

但是,如果你真的想用rails g controller並創建的視圖文件的你,那麼你必須指定你的控制器action名稱:

rails g controller Controllername index show edit update 

這樣,它將爲這四個動作創建視圖文件:app/views/.../index.html.erb,app/views/.../edit.html.erb。 。 。等等。

但是,看你的情況,你應該使用腳手架,因爲它會爲你做很多工作。

2

要生成你應該運行例如爲:將創建索引並顯示行動rails g controller Controllername index show

基本視圖基本視圖和控制器的動作。

0

我有同樣的問題,如果我用RubyMine(新項目> Rails Api項目)創建一個api項目。第一個項目是在CLI(軌道新),澤第二次在RM創建:

C:\Projekte\railstest3>ruby bin/rails generate controller Welcome index 
     create app/controllers/welcome_controller.rb 
     route get 'welcome/index' 
     invoke erb 
     create app/views/welcome 
     create app/views/welcome/index.html.erb 
     invoke test_unit 
     create test/controllers/welcome_controller_test.rb 
     invoke helper 
     create app/helpers/welcome_helper.rb 
     invoke test_unit 
     invoke assets 
     invoke coffee 
     create  app/assets/javascripts/welcome.coffee 
     invoke scss 
     create  app/assets/stylesheets/welcome.scss 

C:\Projekte\railstest3>cd.. 

C:\Projekte>cd railstest 

C:\Projekte\railstest>ruby bin/rails generate controller Welcome4 index 
     create app/controllers/welcome4_controller.rb 
     route get 'welcome4/index' 
     invoke test_unit 
     create test/controllers/welcome4_controller_test.rb 

C:\Projekte\railstest>rails -v 
Rails 5.0.2 

解決方案是創建新的「應用程序項目」,而不是新的「API項目」中的RM。

相關問題