레일스 생성기
생성기는 반복적인 코드를 처리하여 백엔드 구조를 신속하게 생성하는 데 사용되므로 애플리케이션의 보다 고유한 측면에 집중할 수 있습니다.
레일 생성으로 생성할 수 있는 여러 가지가 있으며 가장 일반적으로 접할 수 있는 것은 다음과 같습니다.
rails generate
controller
migration
model
resource
scaffold
serializer
모델
rails g model <model_name>
인수로 전달된 경우 테이블의 열 이름을 포함하는 마이그레이션 파일을 생성합니다.예를 들어
rails g model Pen brand color price:integer
다음 마이그레이션 파일을 생성합니다.# 20220507194429_create_pens.rb
class CreatePens < ActiveRecord::Migration[6.1]
def change
create_table :pens do |t|
t.string :brand
t.string :color
t.integer :price
t.timestamps
end
end
end
모델 파일:
# pen.rb
class Pen < ApplicationRecord
end
및 사양 파일:
# pen_spec.rb
require 'rails_helper'
RSpec.describe Pen, type: :model do
pending "add some examples to (or delete) #{__FILE__}"
end
자원
rails g resource Pen brand color price:integer
직렬 변환기와 함께 위의 모든 파일을 생성합니다.# pen_serializer.rb
class PenSerializer < ActiveModel::Serializer
attributes :id, :brand, :color, :price
end
제어 장치:
# pens_controller.rb
class PensController < ApplicationController
end
귀하의 경로:
# routes.rb
Rails.application.routes.draw do
resources :pens
end
그리고 몇 가지 추가 사양.
발판
rails g scaffold Pen brand color price:integer
위의 모든 것을 생성하지만 컨트롤러에 대한 전체 CRUD 기능을 추가합니다.# pens_controller.rb
class PensController < ApplicationController
before_action :set_pen, only: [:show, :update, :destroy]
# GET /pens
def index
@pens = Pen.all
render json: @pens
end
# GET /pens/1
def show
render json: @pen
end
# POST /pens
def create
@pen = Pen.new(pen_params)
if @pen.save
render json: @pen, status: :created, location: @pen
else
render json: @pen.errors, status: :unprocessable_entity
end
end
# PATCH/PUT /pens/1
def update
if @pen.update(pen_params)
render json: @pen
else
render json: @pen.errors, status: :unprocessable_entity
end
end
# DELETE /pens/1
def destroy
@pen.destroy
end
private
# Use callbacks to share common setup or constraints between actions.
def set_pen
@pen = Pen.find(params[:id])
end
# Only allow a list of trusted parameters through.
def pen_params
params.require(:pen).permit(:brand, :color, :price)
end
end
그리고 더 많은 사양 파일.
물론 이 모든 코드가 어떻게 작동하고 왜 작동하는지 아는 것이 중요합니다. 그러나 몇 가지 레일 프로젝트에서 작업한 후에는 생성기를 사용하여 대부분의 애플리케이션에 대한 기본 프레임워크를 빠르고 쉽게 만들 수 있습니다.
Reference
이 문제에 관하여(레일스 생성기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/asherscott/rails-generators-3fil텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)