2014-07-29 3 views
0

Я создал эти контроллеры в моем приложении: rails generate controller pages index aboutСоздание контроллера позже в Rails

Позже я решил создать новый (не уверен, если это правильный путь), но я получил предупреждение, потому что pages уже существовало:

$ rails generate controller pages contact                           
    conflict app/controllers/pages_controller.rb                                     
Overwrite /home/action/workspace/myapp/app/controllers/pages_controller.rb? (enter "h" for help) [Ynaqdh]                       
     force app/controllers/pages_controller.rb                                     
     route get 'pages/contact'                                         
     invoke erb                                             
     exist app/views/pages                                         
     create app/views/pages/contact.html.erb                                     
     invoke test_unit                                           
    conflict test/controllers/pages_controller_test.rb                                   
    Overwrite /home/action/workspace/myapp/test/controllers/pages_controller_test.rb? (enter "h" for help) [Ynaqdh]                     
     force test/controllers/pages_controller_test.rb                                   
     invoke helper                                            
    identical app/helpers/pages_helper.rb                                      
     invoke test_unit                                           
    identical  test/helpers/pages_helper_test.rb                                    
     invoke assets                                            
     invoke coffee                                           
    identical  app/assets/javascripts/pages.js.coffee                                   
     invoke scss                                            
    identical  app/assets/stylesheets/pages.css.scss 

После удара ввести все работает нормально, но в pages_controller.rb новая страница contact не был добавлен:

class PagesController < ApplicationController 
    def index 
    @notice = "Lorem ipsum dolor sit amet, consectetur adipiscing elit." 
    end 

    def about 
    end 
end 

Я новичок в рельсах, и это мой вопрос: это правильный способ добавить новые страницы к контроллерам?

Я могу просто набрать def contact, чтобы добавить его, но, возможно, есть другой способ. Добавление одной страницы вручную нормально, но если мне нужно добавить несколько, это будет кошмар. Если бы не было ясно, я попытаюсь перефразировать его. Благодарю.

ответ

1

Если вы хотите полностью заменить контроллер, он чист, чтобы уничтожить его первым:

~$ rails destroy controller pages 
    remove app/controllers/pages_controller.rb 
    invoke erb 
    remove app/views/pages 
    invoke test_unit 
    remove test/controllers/pages_controller_test.rb 
    invoke helper 
    remove app/helpers/pages_helper.rb 
    invoke test_unit 
    remove  test/helpers/pages_helper_test.rb 
    invoke assets 
    invoke coffee 
    remove  app/assets/javascripts/pages.js.coffee 
    invoke scss 
    remove  app/assets/stylesheets/pages.css.scss 

~$ rails generate controller pages contact 
    create app/controllers/pages_controller.rb 
    route get 'pages/contact' 
    invoke erb 
    create app/views/pages 
    create app/views/pages/contact.html.erb 
    invoke test_unit 
    create test/controllers/pages_controller_test.rb 
    invoke helper 
    create app/helpers/pages_helper.rb 
    invoke test_unit 
    create  test/helpers/pages_helper_test.rb 
    invoke assets 
    invoke coffee 
    create  app/assets/javascripts/pages.js.coffee 
    invoke scss 
    create  app/assets/stylesheets/pages.css.scss 
+0

Привет! У меня был индекс 'pages_controller.rb' и около. Позже я хотел добавить контакт. Я предполагаю, что после создания проекта, если я хочу добавить больше страниц, я должен перейти на 'pages_controller.rb' и сделать это вручную. Благодарю. – Labanino

+1

А, тогда взгляните на [этот вопрос] (http://stackoverflow.com/questions/7218587/how-do-i-add-new-action-and-view-with-script-rails-generate). TL; DR: вы делаете это вручную. – mccannf

+0

Получил! Благодарю. – Labanino

Смежные вопросы