ruby-on-rails 루비 - 모든 RESTful 함수가있는 컨트롤러 생성




레일즈 강좌 (9)

스텁 된 모든 RESTful 액션이있는 컨트롤러를 생성하려고합니다. 나는 링크 텍스트 에서 내가해야 할 일은 단지 컨트롤러 이름으로 발전기 호출을 사용하는 것이 었습니다. 그래서, 나는 "script / generate rspec_controller Properties"를 실행 시켰고 나는 빈 컨트롤러를 얻었다.

다른 모든 의견은 크게 감사하겠습니다.


Answers

한 가지 해결책은 하나의 매개 변수 인 컨트롤러 이름을 허용하고 스크립트가 전체 명령을 입력하게하는 스크립트를 만드는 것입니다.

  1. railsgcontroller와 같은 새 파일 만들기
  2. 실행 파일로 만들고 경로에 저장하십시오.
  3. 다음과 같이 실행하십시오 : $ railsgcontroller Articles
die () {
    echo "Please supply new rails controller name to generate."
    echo >&2 "[email protected]"
    exit 1
}

[ "$#" -eq 1 ] || die "1 argument required, $# provided"

rails g controller "$1" new create update edit destroy show index

Rails 5.1

출발점:

컨트롤러가 없거나 뷰가없는 모델을 만들었습니다 (예 : thru : rails generate model category )

목표:

전체 RESTful 리소스로 업그레이드하십시오.

명령:

rails generate scaffold_controller category

그것은 스캐 폴딩 된 컨트롤러, 7 가지 RESTful 액션 및 관련 뷰를 스텁 아웃합니다. (참고 : 모델 이름을 CamelCased 또는 under_scored로 전달할 수 있습니다.)

산출:

[email protected]:~/railsapps/dblirish$ rails generate scaffold_controller category
Running via Spring preloader in process 45681
      create  app/controllers/categories_controller.rb
      invoke  erb
      create    app/views/categories
      create    app/views/categories/index.html.erb
      create    app/views/categories/edit.html.erb
      create    app/views/categories/show.html.erb
      create    app/views/categories/new.html.erb
      create    app/views/categories/_form.html.erb
      invoke  test_unit
      create    test/controllers/categories_controller_test.rb
      invoke  helper
      create    app/helpers/categories_helper.rb
      invoke    test_unit
      invoke  jbuilder
      create    app/views/categories/index.json.jbuilder
      create    app/views/categories/show.json.jbuilder
      create    app/views/categories/_category.json.jbuilder

자동화 된 방법에 대해서는 잘 모르지만 다음과 같은 경우 :

script/generate controller your_model_name_in_plural new create update edit destroy index show

그들 모두는 당신을 위해 창조 될 것입니다.

Rails 4 업데이트

rails g scaffold_controller Property

Rails 4/5에서 다음 명령이 나를 대신합니다.

rails g scaffold_controller Property --skip-template-engine

제어기 조치가 생성되었지만보기는 생성되지 않았습니다.


script / generate rspec_scaffold 속성


Rails 3에는 rails generate scaffold_controller ... 도있다. 더 많은 정보는 here .


편집 (일부 의견으로 인해) : 원래 질문은 2010 년이었습니다 - 따라서 대답은 레일 4가 아니라 레일 2입니다!

스캐 폴딩을 사용해보십시오.

script/generate scaffold controller Properties

Ruby On Rails의 공식 문서 섹션

레일 스 캐 폴딩에서 Google 검색을 수행하면 더 많은 정보를 찾을 수있을 것으로 확신합니다. 희망이 도움이됩니다.

편집 : RAILS 4

rails g scaffold_controller Property


Rails 4에서 레일즈 rails g controller apps new create update edit destroy show index

또는 rails generate controller apps new create update edit destroy show index 하십시오.


REST는 상태 비 저장이며 요청 사이에 어떤 상태도 유지하지 않습니다. 클라이언트 쿠키 / 헤더는 인증과 같은 사용자 상태를 유지하도록 설정됩니다. 클라이언트 사용자 이름 / 암호는 세 번째 부분 인증 메커니즘에 의해 검증됩니다 - 두 번째 수준의 OTP 생성 등 일단 사용자가 인증되면 - 헤더 / 쿠키가 서비스 엔드 포인트를 노출하게되며 사용자가 유효한 헤더 / 쿠키를 가지고 있기 때문에 인증 된 것으로 간주 할 수 있습니다 . 이제는 IP와 같은 사용자의 특정 정보가 캐시에 유지되고 그 후에도 나열된 리소스에 대해 동일한 IP (Mac 주소)에서 요청이 오는 경우 사용자가 허용됩니다. 그리고 캐시는 시간이 지나면 무효화되는 특정 시간 동안 유지됩니다. 따라서 캐시를 사용할 수도 있고 DB 항목을 사용하여 요청을 정보를 유지할 수도 있습니다.







ruby-on-rails controller rest rspec