���񂽂�Ajax�J�������邽�߂�Ruby on Rails�̊�b�m���FRuby on Rails��RJS�ł��񂽂�Ajax�J���i�O�ҁj�i3/4 �y�[�W�j

» 2008�N08��25�� 00��00�� ���J
[�u�c�T���C������ЃA�[�N�E�F�u]

scaffold�ō������ʂ��m�F

�@�}�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/
}1@JeSꗗ �}1�@�J�e�S���ꗗ���

}2@JeSڍ׉ �}2�@�J�e�S���ڍ׉��

}3@JeSC �}3�@�J�e�S���C�����

�@�ǂ��ł��傤���BRuby�R�[�h��1�‚��������ɂ����܂ł��邱�Ƃ��ł��܂����B�����΁A���̏�Ԃ܂�5����������܂���B

scaffold����Rails�̑g�ݕ����w��

�@���悢�悱������́Ascaffold�ō쐬���ꂽ�ЂȌ^�̃\�[�X�R�[�h�����Ȃ���Rails�̑g�ݕ����w��ł����܂��B

Rails�̉�ʕ\���܂ł̗���

�@�܂��ARails�̉�ʕ\���܂ł̗�����m�F���܂��傤�BRails���ق���MVC�t���[�����[�N�𗘗p����Web�A�v���P�[�V�����J���t���[�����[�N�Ɠ��l�ɁA���̂悤�ȗ���ŏ��������s����܂��B

}4@TvAvP[V̗̏ �}4�@�T���v���A�v���P�[�V�����̏����̗���
  1. ���[�U�[���A�N�Z�X����URL�ɉ����āA�R���g���[���[�̃A�N�V�������\�b�h�����s�����
  2. �R���g���[���[�͕K�v�ɉ����ă��f�����Ăяo���ADB����l���擾������ADB���X�V������A���̂ق��̃r�W�l�X���W�b�N�����s�����肷��
  3. �R���g���[���[�́A�K�v�ɉ����ă��f���̎��s���ʂ��r���[�ɓn���‚A�r���[�ɕ`��𖽗߂���
  4. ���[�U�[�́A�r���[���`�悵�����ʂ��󂯎��

�R���g���[���[�FCategoriesController�N���X�̃R�[�h���m�F

�@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
app/controllers/categories_controller.rb

�@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
app/controllers/application.rb

�@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

�e��ʂ�URL�ƃA�N�V�������\�b�h�̑Ή�

�@���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

  • URL�Łu���\�[�X�v��\��
  • �u���\�[�X�v�ɑ΂���u�������e�v��HTTP���N�G�X�g���\�b�h�ŕ\���i��FPOST/categories/update/1�ł͂Ȃ��APUT/categories/1�j

�@�������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

�J�e�S���ڍ׉�ʁFshow()�A�N�V�������\�b�h���m�F

�@��������̓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
app/controllers/categories_controller.rb

Copyright © ITmedia, Inc. All Rights Reserved.

'; if( !this.isSubscription ) { this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); } }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B