복붙노트

[RUBY-ON-RAILS] 모델이 이미 존재하는 경우 어떻게`레일을 생성 scaffold`를 실행하려면?

RUBY-ON-RAILS

모델이 이미 존재하는 경우 어떻게`레일을 생성 scaffold`를 실행하려면?

내 현재 프로젝트가 이상한 상태에 있으므로 나는 레일에 새로운 해요.

내가 생성 된 첫 번째 것들 중 하나는 "동영상"모델이었다. 그때 더 자세하게 정의 시작, 몇 가지 방법 등을 추가

지금은 레일 등 라우팅, 뷰, 컨트롤러, 같은 것들을를 연결하는 스캐 폴딩 생성과 내가 그것을 생성해야 실현

나는 발판을 생성하기 위해 노력하지만 같은 이름이 이미 존재로 마이그레이션 파일을 말하는 오류가 발생했습니다.

내가 지금 내 "영화"에 대한 발판을 만들 수있는 최선의 방법은 무엇입니까? (사용 레일 3)

해결법

  1. ==============================

    1.TL; DR : 레일 g scaffold_controller <이름>

    TL; DR : 레일 g scaffold_controller <이름>

    이미 모델을 가지고 있지만, 여전히 레일이 생성 옵션을 사용하여 필요한 컨트롤러 및 마이그레이션 파일을 생성 할 수 있습니다. 당신은 레일 -h를 생성하는 실행하면 당신은 당신에게 모든 옵션을 사용할 수 볼 수 있습니다.

    Rails:
      controller
      generator
      helper
      integration_test
      mailer
      migration
      model
      observer
      performance_test
      plugin
      resource
      scaffold
      scaffold_controller
      session_migration
      stylesheets
    

    당신이 당신의 모델 컨트롤러 발판을 생성하려는 경우, scaffold_controller 참조하십시오. 그냥 명확성을 위해, 여기에에 대한 설명입니다 :

    자원을 만들려면 자원 생성기를 사용하는 것, 그리고 마이그레이션을 만들기 위해, 당신은 또한 (가, 참조 패턴이 광기의 모든있다) 마이그레이션 발전기를 볼 수 있습니다. 이러한 자원을 구축하기 위해 누락 된 파일을 만들 수있는 옵션을 제공합니다. 또는 그냥 실행할 수있는 레일이 존재하는 파일을 건너 뛸 수있는 --skip 옵션 스케 폴딩을 생성합니다 :)

    나는 약간의 시간이 발전기의 내부의 옵션을보고 지출하는 것이 좋습니다. 그들은있는 거 뭔가 내가 책과 같은에서 매우 잘 설명되어 있습니다 생각하지 않습니다,하지만 그들은 매우 편리입니다.

  2. ==============================

    2.리 자비스에 의해 훌륭한 대답은, 이것은 단지 명령 예컨대입니다; 우리는 이미 기존 모델이라는 사용자를 가지고 :

    리 자비스에 의해 훌륭한 대답은, 이것은 단지 명령 예컨대입니다; 우리는 이미 기존 모델이라는 사용자를 가지고 :

    rails g scaffold_controller User
    
  3. ==============================

    3.기존 데이터베이스와 레일 응용 프로그램을 시작하는 사람을위한 발판 스크립트를 생성하는 schema_to_scaffold라는 멋진 보석이있다. 이것은 출력 :

    기존 데이터베이스와 레일 응용 프로그램을 시작하는 사람을위한 발판 스크립트를 생성하는 schema_to_scaffold라는 멋진 보석이있다. 이것은 출력 :

    당신의 schema.rb 우리의 당신의 이름이 바뀐 schema.rb에서. 확인해 봐

  4. ==============================

    4.이 명령은 트릭을 수행해야합니다

    이 명령은 트릭을 수행해야합니다

    $ rails g scaffold movie --skip
    
  5. ==============================

    5.당신은 scaffold_controller을 사용하고 모델의 속성을 전달하는 기억, 또는 비계 속성없이 생성 될 수 있습니다.

    당신은 scaffold_controller을 사용하고 모델의 속성을 전달하는 기억, 또는 비계 속성없이 생성 될 수 있습니다.

    rails g scaffold_controller User name email
    # or
    rails g scaffold_controller User name:string email:string
    

    이 명령은 파일을 다음과 생성합니다 :

    create  app/controllers/users_controller.rb
    invoke  haml
    create    app/views/users
    create    app/views/users/index.html.haml
    create    app/views/users/edit.html.haml
    create    app/views/users/show.html.haml
    create    app/views/users/new.html.haml
    create    app/views/users/_form.html.haml
    invoke  test_unit
    create    test/controllers/users_controller_test.rb
    invoke  helper
    create    app/helpers/users_helper.rb
    invoke    test_unit
    invoke  jbuilder
    create    app/views/users/index.json.jbuilder
    create    app/views/users/show.json.jbuilder
    
  6. ==============================

    6.레일 5에서, 당신은 여전히 ​​실행할 수 있습니다

    레일 5에서, 당신은 여전히 ​​실행할 수 있습니다

    $rails generate scaffold movie --skip
    

    모든 누락 된 비계 파일을 만들거나

    rails generate scaffold_controller Movie
    

    컨트롤러를 생성 만 볼 수 있습니다.

    더 나은 설명은 비계 레일 확인

  7. from https://stackoverflow.com/questions/4333393/how-to-run-rails-generate-scaffold-when-the-model-already-exists by cc-by-sa and MIT license