수색…


소개

사용법 : rails generate GENERATOR_NAME [args] [options] 합니다.

rails generate 를 사용 rails generate 사용 가능한 발전기를 나열하십시오. 별칭 : rails g .

매개 변수

매개 변수 세부
-h / --help 발전기 명령에 대한 도움말보기
-p / --pretend 척 모드 : 생성기를 실행하지만 파일을 만들거나 변경하지 않습니다.
field:type 'field-name'은 작성할 컬럼의 이름이고 'type'은 컬럼의 데이터 유형입니다. field:type 'type'에 사용할 수있는 값은 '설명'섹션에 있습니다.

비고

field:type 'type'에 가능한 값은 다음과 같습니다.

데이터 형식 기술
:string 작은 텍스트의 경우 (일반적으로 글자 수 제한이 255 자임)
:text 단락과 같이 긴 텍스트 조각의 경우
:binary 이미지, 오디오 및 비디오를 포함한 데이터 저장
:boolean true 또는 false 값 저장
:date 날짜 만
:time 시간 만
:datetime 날짜와 시간
:float 정밀도없이 수레 저장하기
:decimal 정밀도를 가진 수레 저장
:integer 정수 저장

레일스 모델 생성

자동으로 모델에 맞는 db migration & booleanplate 테스트 파일을 만드는 ActiveRecord 모델을 생성하려면이 명령을 입력하십시오

rails generate model NAME column_name:column_type

'NAME'은 모델의 이름입니다. 'field'는 DB 테이블의 열 이름이고 'type'은 열 유형입니다 (예 : name:string 또는 body:text ). 비고 섹션에서 지원되는 열 유형 목록을 확인하십시오.

외래 키를 설정하려면 belongs_to:model_name 추가하십시오.

따라서 User username , emailSchool 속한 User 모델을 설정하려면 다음을 입력하십시오

rails generate model User username:string email:string school:belongs_to

rails grails generate 위한 속기입니다. 이렇게하면 같은 결과가 나타납니다.

rails g model User username:string email:string school:belongs_to

레일스 마이그레이션 생성

다음 명령을 사용하여 터미널에서 레일 마이그레이션 파일을 생성 할 수 있습니다.

rails generate migration NAME [field[:type][:index] field[:type][:index]] [options]

명령에서 지원하는 모든 옵션 목록을 보려면 rails generate migration 에서와 같이 인수없이 명령을 실행할 수 있습니다.

예를 들어, first_namelast_name 필드를 users 테이블에 추가하려면 다음을 수행 할 수 있습니다.

rails generate migration AddNamesToUsers last_name:string first_name:string

레일즈는 다음과 같은 마이그레이션 파일을 생성합니다 :

class AddNamesToUsers < ActiveRecord::Migration[5.0]
  def change
    add_column :users, :last_name, :string
    add_column :users, :first_name, :string
  end
end

이제 터미널에서 다음을 실행하여 보류중인 마이그레이션을 데이터베이스에 적용합니다.

5.0
rake db:migrate
5.0
rails db:migrate

참고 : 더 적은 타이핑을 위해 generateg 대체 할 수 있습니다.

레일은 비계를 생성합니다.

면책 조항 : 스캐 폴딩은 매우 일반적인 CRUD 앱 / 테스트를위한 것이 아닌 이상 권장되지 않습니다. 이것은 웹 애플리케이션에 필요하지 않은 많은 파일 (뷰 / 모델 / 컨트롤러)을 생성하여 두통을 일으킬 수 있습니다 (나쁜 :()).

모델, 컨트롤러, 뷰, 자산 및 테스트를 포함하여 새 객체에 대한 완전히 작동하는 스캐 폴드를 생성하려면 rails g scaffold 명령을 사용하십시오.

$ rails g scaffold Widget name:string price:decimal
    invoke  active_record
    create    db/migrate/20160722171221_create_widgets.rb
    create    app/models/widget.rb
    invoke    test_unit
    create      test/models/widget_test.rb
    create      test/fixtures/widgets.yml
    invoke  resource_route
     route    resources :widgets
    invoke  scaffold_controller
    create    app/controllers/widgets_controller.rb
    invoke    erb
    create      app/views/widgets
    create      app/views/widgets/index.html.erb
    create      app/views/widgets/edit.html.erb
    create      app/views/widgets/show.html.erb
    create      app/views/widgets/new.html.erb
    create      app/views/widgets/_form.html.erb
    invoke    test_unit
    create      test/controllers/widgets_controller_test.rb
    invoke    helper
    create      app/helpers/widgets_helper.rb
    invoke    jbuilder
    create      app/views/widgets/index.json.jbuilder
    create      app/views/widgets/show.json.jbuilder
    invoke  assets
    invoke    javascript
    create      app/assets/javascripts/widgets.js
    invoke    scss
    create      app/assets/stylesheets/widgets.scss

그런 다음 rake db:migrate 를 실행하여 데이터베이스 테이블을 설정할 수 있습니다.

그런 다음 http : // localhost : 3000 / widgets을 방문하면 완벽하게 작동하는 CRUD 스캐 폴드를 볼 수 있습니다.

레일 생성 컨트롤러

rails g controller 명령으로 새로운 컨트롤러를 만들 수 있습니다.

$ bin/rails generate controller controller_name

컨트롤러 생성기는 generate controller ControllerName action1 action2 의 형태로 매개 변수를 필요로합니다.

다음은 hello 액션으로 인사말 컨트롤러를 만듭니다.

$ bin/rails generate controller Greetings hello

다음 출력을 볼 수 있습니다.

     create  app/controllers/greetings_controller.rb
      route  get "greetings/hello"
     invoke  erb
     create    app/views/greetings
     create    app/views/greetings/hello.html.erb
     invoke  test_unit
     create    test/controllers/greetings_controller_test.rb
     invoke  helper
     create    app/helpers/greetings_helper.rb
     invoke  assets
     invoke    coffee
     create      app/assets/javascripts/greetings.coffee
     invoke    scss
     create      app/assets/stylesheets/greetings.scss

이것은 다음을 생성합니다.

파일
컨트롤러 파일 greetings_controller.rb
파일보기 hello.html.erb
기능 테스트 파일 greetings_controller_test.rb
헬퍼보기 greetings_helper.rb
자바 스크립트 파일 greetings.coffee

또한 routes.rb 각 작업에 대한 경로를 추가합니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow