2011-11-13 6 views

답변

75
rails g scaffold User --migration=false --skip 

--skip은 이미 존재하는 파일을 건너 뛸 것을 의미합니다. (반대쪽은 --force입니다.)

도우미가 필요없는 경우 --helpers=false. 내 User 뷰를 삭제 한 후

샘플 출력 :

 invoke active_record 
    identical app/models/user.rb 
     invoke test_unit 
    identical  test/unit/user_test.rb 
     skip  test/fixtures/users.yml 
     route resources :users 
     invoke scaffold_controller 
    identical app/controllers/users_controller.rb 
     invoke erb 
     exist  app/views/users 
     create  app/views/users/index.html.erb 
     create  app/views/users/edit.html.erb 
     create  app/views/users/show.html.erb 
     create  app/views/users/new.html.erb 
     create  app/views/users/_form.html.erb 
     invoke test_unit 
    identical  test/functional/users_controller_test.rb 
     invoke helper 
    identical  app/helpers/users_helper.rb 
     invoke  test_unit 
    identical  test/unit/helpers/users_helper_test.rb 
     invoke assets 
     invoke coffee 
    identical  app/assets/javascripts/users.js.coffee 
     invoke scss 
    identical  app/assets/stylesheets/users.css.scss 
     invoke scss 
    identical app/assets/stylesheets/scaffolds.css.scss 
+1

참고 : 당신이 당신의 모델 예 : 사용자 이름 다음에이를 포함시킬 필요가 속성을 가지고 생성 된 뷰를 원하는 경우 : 문자열 이메일 : 문자열 등 – skalb

+0

을 '--migration = false'로 무엇입니까? –

+1

@KevinZhao ... 마이그레이션을 생성하지 않습니다. –

2

"또 다른 도구"...

방법 "script/generate view_for model_name"을 할 수있는 약? :)

- View Mapper에 대한 보석이 있습니다. Ruby on Rails 2 및 3 버전이 있습니다.

+1

오래되었거나 구형 인 <3 – bbozo

+2

예, 현재 4 살입니다. –

1

하나의 작은 팁 추가 "--no-test-framework"RSpec에을 사용하고 사양의 각보기에 대해 생성 된 테스트 파일을하지 않으려면/전망

2
난 그냥 같은 당신의 문제가 발생

하는 것입니다. 나는 그것을했다. 자세한 내용은 아래에 있습니다.
- 먼저 views/your_model 폴더의 이름을 views/your_model_bak로 변경합니다. 복귀하기 위해 실패 할 경우 나중에
- 그런 다음 명령을 실행

rails g scaffold YourModel [field[:type][:index]] --skip 
  • ,이 파일 (이 경우 컨트롤러와 모델과 몇 가지 다른 파일) 존재 작성하지 않습니다 --skip 옵션을 잊지 마세요
  • 확인 목록 확인 [필드 [: 유형] [: 인덱스]] 날짜

에 달려있다 - 마지막으로, your_model 컨트롤러에서 허가를 업데이트해야합니다.

희망이 있으면 도움을 드리겠습니다.

-1

컨트롤러 및 모델이 이미 만들어진 후에보기를 생성하려면 명령 줄을 사용할 수 있습니다. 새보기를 만들려는 폴더로 전환합니다. 예를 들어 :

$ cd .. 
+1

...? 또는 편집기에서 파일을 만듭니다. 이 파일이 특히 helpfile 인 것을 보지 못했습니다. 기본적으로 "파일을 만들어서 파일 만들기"라고 말하면서, 명령 줄에서 생성 한 파일과 관련된 모든 Rails-ish 파일을 생성하지는 않습니다. –

12

이 발판 발생기는 내부적으로 호출하는 것입니다 :

$ cd name_app/app/views/controller_name 
$ touch name_file 

다시 하나 개의 디렉토리 사용의 이동을

rails g erb:scaffold User 

erb 사용 된 템플릿 엔진, 당신 때문에 haml:scaffold을 사용할 수도 있습니다.

레일 스는 이 아니고이 자동으로 생성 된 모델에서 추론 할 필드를 명시 적으로 지정해야합니다.예를 들어 :

rails g erb:scaffold User firstname lastname reputation 

는 건너 뛰는 등의 옵션을 강제로 덮어 쓰기, 건조 실행 또는 비계를 생성하는 특정 정보에 대한 generate scaffold --help에 대한 rails g --help를 참조하십시오.

+1

나는 이것이 실제로 정답이라고 느낍니다. 다른 모든 옵션은 누락 된 부분을 생성합니다. 이것은 뷰를 생성 만합니다. 고맙습니다 :) –