Ruby on Rails
레일즈는 명령을 생성합니다.
수색…
소개
사용법 : 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
, email
및 School
속한 User
모델을 설정하려면 다음을 입력하십시오
rails generate model User username:string email:string school:belongs_to
rails g
은 rails 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_name
및 last_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
이제 터미널에서 다음을 실행하여 보류중인 마이그레이션을 데이터베이스에 적용합니다.
rake db:migrate
rails db:migrate
참고 : 더 적은 타이핑을 위해
generate
를g
대체 할 수 있습니다.
레일은 비계를 생성합니다.
면책 조항 : 스캐 폴딩은 매우 일반적인 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
각 작업에 대한 경로를 추가합니다.