) 컨트롤러 (최소 코드 만)와 모델을 가지고 있지만 뷰가없는 프로젝트를 얻었습니다. scaffold 또는 다른 도구를 사용하여보기를 생성하는 방법이 있습니까?컨트롤러와 모델이 이미 생성 된 후 Ruby on Rails 뷰를 생성하십시오 (
답변
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
"또 다른 도구"...
방법 "script/generate view_for model_name
"을 할 수있는 약? :)
- View Mapper에 대한 보석이 있습니다. Ruby on Rails 2 및 3 버전이 있습니다.
오래되었거나 구형 인 <3 – bbozo
예, 현재 4 살입니다. –
하나의 작은 팁 추가 "--no-test-framework
"RSpec에을 사용하고 사양의 각보기에 대해 생성 된 테스트 파일을하지 않으려면/전망
하는 것입니다. 나는 그것을했다. 자세한 내용은 아래에 있습니다.
- 먼저 views/your_model 폴더의 이름을 views/your_model_bak로 변경합니다. 복귀하기 위해 실패 할 경우 나중에
- 그런 다음 명령을 실행
rails g scaffold YourModel [field[:type][:index]] --skip
- ,이 파일 (이 경우 컨트롤러와 모델과 몇 가지 다른 파일) 존재 작성하지 않습니다 --skip 옵션을 잊지 마세요
- 확인 목록 확인 [필드 [: 유형] [: 인덱스]] 날짜
에 달려있다 - 마지막으로, your_model 컨트롤러에서 허가를 업데이트해야합니다.
희망이 있으면 도움을 드리겠습니다.
컨트롤러 및 모델이 이미 만들어진 후에보기를 생성하려면 명령 줄을 사용할 수 있습니다. 새보기를 만들려는 폴더로 전환합니다. 예를 들어 :
$ cd ..
...? 또는 편집기에서 파일을 만듭니다. 이 파일이 특히 helpfile 인 것을 보지 못했습니다. 기본적으로 "파일을 만들어서 파일 만들기"라고 말하면서, 명령 줄에서 생성 한 파일과 관련된 모든 Rails-ish 파일을 생성하지는 않습니다. –
이 발판 발생기는 내부적으로 호출하는 것입니다 :
$ 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
를 참조하십시오.
나는 이것이 실제로 정답이라고 느낍니다. 다른 모든 옵션은 누락 된 부분을 생성합니다. 이것은 뷰를 생성 만합니다. 고맙습니다 :) –
참고 : 당신이 당신의 모델 예 : 사용자 이름 다음에이를 포함시킬 필요가 속성을 가지고 생성 된 뷰를 원하는 경우 : 문자열 이메일 : 문자열 등 – skalb
을 '--migration = false'로 무엇입니까? –
@KevinZhao ... 마이그레이션을 생성하지 않습니다. –