�@�}�C�O���[�V���������s���AFixture�ŃT���v���f�[�^��o�^������Ascaffold���쐬���Ă��ꂽ��ʂ��m�F���Ă݂܂��傤�BURL�͎��̂悤�ɂȂ�܂��B
http://�yRails���C���X�g�[�������}�V���̃A�h���X�z:3000/categories/
�@�ǂ��ł��傤���BRuby�R�[�h��1���������ɂ����܂ł��邱�Ƃ��ł��܂����B�����A���̏�Ԃ܂�5����������܂���B
�@���悢�悱������́Ascaffold�ō쐬���ꂽ�ЂȌ^�̃\�[�X�R�[�h�����Ȃ���Rails�̑g�ݕ����w��ł����܂��B
�@�܂��ARails�̉�ʕ\���܂ł̗�����m�F���܂��傤�BRails���ق���MVC�t���[�����[�N�𗘗p����Web�A�v���P�[�V�����J���t���[�����[�N�Ɠ��l�ɁA���̂悤�ȗ���ŏ��������s����܂��B
�@CategoriesController�N���X�iscaffold����������
�uapp/controllers/categories_controller.rb�v�j�̃R�[�h���m�F���Ă݂܂��傤�B
class CategoriesController < ApplicationController # GET /categories # GET /categories.xml def index �c�y���z�c end # GET /categories/1 # GET /categories/1.xml def show �c�y���z�c end # GET /categories/new # GET /categories/new.xml def new �c�y���z�c end # GET /categories/1/edit def edit �c�y���z�c end # POST /categories # POST /categories.xml def create �c�y���z�c end # PUT /categories/1 # PUT /categories/1.xml def update �c�y���z�c end # DELETE /categories/1 # DELETE /categories/1.xml def destroy �c�y���z�c end end
�@Ruby����̕��@�ɂ��ẮA�ȉ����Q�Ƃ��Ă��������B
�@�R���g���[���[�N���X�́AApplicationController�N���X���p�����Ă��܂��BApplicationController�N���X�i�urails�v�R�}���h�Ő������ꂽ
�uapp/controllers/application.rb�v�j�̓��e�͎��̂悤�ɂȂ��Ă��܂��B
class ApplicationController < ActionController::Base �c�y���z�c end
�@ApplicationController::Base���p�����Ă��܂��̂ŁA���ʓI��CategoriesController�N���X��ApplicationController::Base�ƌp���W�ɂȂ�܂��B
�@ApplicationController::Base�N���X������@�\�ɂ��A�e��ʂ�Web�u���E�U�ɂ���ă��N�G�X�g�����ƁA����ɑΉ������A�N�V�������\�b�h���Ăяo�����d�g�݂ɂȂ��Ă��܂��BActionController::Base�̏ڍׂɋ���������Ȃ�A�uClass: ActionController::Base�v���Q�Ƃ��Ă��������B
�@���L�ɁAWeb�u���E�U����̃��N�G�X�g�ɑΉ�����A�N�V�������\�b�h�ɂ��Ă܂Ƃ߂܂����B
80%��ʖ� | ���\�b�h�� | URL | HTTP���\�b�h |
---|---|---|---|
�J�e�S���ꗗ��� | index | /categories�A�܂��� /categories.xml |
GET |
�J�e�S���ڍ�� | show | /categories/1�A�܂��� categories/1.xml |
GET |
�J�e�S���V�K�쐬���͉�� | new | /categories/new�A�܂��� /categories/new.xml |
GET |
�J�e�S���ҏW���͉�� | edit | /categories/edit�A�܂��� /categories/edit.xm |
GET |
�J�e�S���V�K�쐬������� | create | /categories�A�܂��� /categories.xml |
POST |
�J�e�S���ҏW������� | update | /categories/1�A�܂��� /categories/1.xml |
PUT |
�J�e�S���폜������� | destory | /categories/1�A�܂��� /categories/1.xml |
DELETE |
�\3�@�A�N�V�������\�b�h |
�������FURL���u/categories�v�u/categories.xml�v�̂悤�ɁA2�Ƃ��肠�闝�R�́u�R���g���[���[����r���[�̌Ăяo���v�ʼn�����܂��B
�@scaffold�ɂ���Đ������ꂽ�A�v���P�[�V�����́A�ȉ��̂悤��REST�̌����ɂ̂��Ƃ��Ă��܂��B
�@�������A����Web�u���E�U����APUT���\�b�h��DELETE���\�b�h�𑗐M���邱�Ƃ͂ł��܂���̂ŁA���ۂɂ͉��L�̂悤�ɁA�u_method�v�Ƃ������lj��p�����[�^�𑗂邱�ƂŁA�N���C�A���g��PUT���\�b�h�Ń��N�G�X�g�𑗐M�����ƌ��Ȃ��v�ɂȂ��Ă��܂��B
<form method="POST"> �c�y���z�c <input type="hidden" name="_method" value="put" /> �c�y���z�c </form>
�@REST�Ή��͂ƂĂ��傫�ȃe�[�}�ł��̂ŁA����͂��̕��������܂藝���ł��Ȃ��ł����\�ł��B�J�e�S���ڍ�ʂ́Ashow()�A�N�V�������\�b�h��������S������A�Ƃ������Ƃ𗝉����Ă��������BRails��REST�Ή��̏ڍׂɋ���������Ȃ�A�uModule:ActionController::Resources�v���Q�Ƃ��Ă��������B
�@��������̓u���E�U���J�e�S���ڍ�ʂ����N�G�X�g����ƁA�Ăяo�����Ashow()�A�N�V�������\�b�h���ڂ������Ă����܂��B
class CategoriesController < ApplicationController �c�y���z�c # GET /categories/1 # GET /categories/1.xml def show @category = Category.find(params[:id]) respond_to do |format| format.html # show.html.erb format.xml { render :xml => @category } end end �c�y���z�c end
Copyright © ITmedia, Inc. All Rights Reserved.