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

» 2008�N08��25�� 00��00�� ���J
[�u�c�T���C������ЃA�[�N�E�F�u]
�O�̃y�[�W�� 1|2|3|4 �@�@�@�@�@�@

ActiveRecord���g�����f�[�^�̎擾

�@show()�A�N�V�������\�b�h���̖`���Ŏ��s���Ă���ȉ��̕�����Category�N���X�iscaffold�Ő������ꂽapp/models/category.rb�j�́A�N���X���\�b�hfind()�Ăяo���Ă��܂��B

    @category = Category.find(params[:id])

�@Category�N���X�̓��e�́A���̂悤�ɔ��ɃV���v���ł��B

class Category < ActiveRecord::Base
end
app/models/category.rb

�@Category�N���X��ActiveRecord::Base�N���X���p�����Ă��܂��BActiveRecord�́AO/R�}�b�s���O�c�[����1�‚ŁA�ݒ�t�@�C�����L�q���Ȃ��Ƃ��A�N���X���ƃe�[�u�����̖������玩���I�Ƀ}�b�s���O���ł���̂��傫�ȓ�����1�‚ł��iRails�̃R���Z�v�g�u�ݒ�����K��v�̈��j�B

�@����́A�N���X���uCategory�v�ƃe�[�u�����́ucategories�v�������I�ɑΉ��t����܂��B

�@ActiveRecord��find()���\�b�h�́Acategories�e�[�u���ɑ΂���SELECT���𔭍s���A���ʂ�Category�N���X�̃C���X�^���X�Ƀ}�b�s���O���ĕԂ����\�b�h�ł��B

�@params�́AApplicationController���񋟂���A���N�G�X�g�p�����[�^���󂯎�邽�߂̃��\�b�h�i�Q�l�́uParameters�v�̏́j�ł��Bparams[:id]�̕����ŁA�ȉ��́yID�z�Ɏw�肳�ꂽ�l���󂯎�邱�Ƃ��ł��܂��B

http://�yRails���C���X�g�[�������}�V���̃A�h���X�z:3000/categories/�yID�z

�@����ID���w�肵��find()���Ăяo���ƁA���v����id�����ƒ��R�[�h����������A���̃��R�[�h�̓��e���Z�b�g���ꂽCategory�N���X�̃C���X�^���X���߂�l�Ƃ��Ď擾�ł��܂��BActiveRecord�́A�}�b�s���O���ꂽ�e�[�u���̃J���������擾���ACategory�N���X�ɑ΂��āA�ȉ��̂悤�ȃJ�����̒l�̎擾��A�l�̐ݒ�̎�i���ȒP�ɍs���C���^�[�t�F�C�X��񋟂��Ă���܂��B

    @category.name
    @category.description = "..."

�@�����ʂ��Č������ʂ��ȒP�Ɏ擾������A�܂��f�[�^���ȒP�ɍX�V������ł���d�g�݂ɂȂ��Ă��܂��BActiveRecord�̏ڍׂɋ���������Ȃ�A�uClass: ActiveRecord::Base�v���Q�Ƃ��Ă��������B

�R���g���[���[����r���[�̌Ăяo��

�@�R���g���[���[�̃R�[�h��������x���Ă݂܂��傤�B

    @category = Category.find(params[:id])

�@�u@�ϐ����v�Ƃ����L�q�́ARuby�ł̓N���X�̃C���X�^���X�ϐ���\���܂��i�Q�l�j�B

�@�R���g���[���[�̃����o�ϐ��ɑ�����ꂽ���̂́A�r���[�ł����p�ł���d�g�݂ɂȂ��Ă��܂��̂ŁA�R���g���[���[����r���[�ցA�ϐ��̎󂯓n���ɗ��p�ł��܂��i�Q�l�u ActionController::Base�v�́uRenders�v�̏́j�B

�@���ɁA���L�R�[�h�����Ă݂܂��傤�B

    respond_to do |format|
        format.html # show.html.erb
        format.xml  { render :xml => @category }
    end

�@����respond_to()���\�b�h�ł́A�r���[�̌Ăяo�������w�肵�Ă��܂��B

�@��قǁA�u���̃A�N�V�������\�b�h�́A�ȉ��̗����ŃA�N�Z�X�����v�Ɛ������܂����B

  • /categories/�mID�n
  • /categories/�mID�n.xml

�@Rails�ł́AURL�Ɋg���q�uxml�v���t�����ꍇ�́A�N���C�A���g��XML�`���̃��X�|���X�����҂��Ă���Ɖ��߂��āAXML�p�̃��X�|���X��p�ӂ��悤�Ƃ��܂��B���Ɋg���q���t���Ȃ����HTML���Ԃ���܂��B

�@���̂悤��Rails�́A�����A�N�V�������\�b�h���ŁAWeb�u���E�U�����łȂ��AWeb API�N���C�A���g�Ȃǂɂ��ȒP�ɉ����ł���d�g�݂�񋟂��Ă��܂��i�u�������Ƃ��J��Ԃ��Ȃ��v�̈��j�B���̎d�g�݂͌�҂ŁARJS�Ή�������ۂɗ��p���܂��BRails��respond_to�̎d�g�݂̏ڍׂɋ���������Ȃ����������Q�Ƃ��Ă��������B

�r���[�iHTML�p�j�̃R�[�h���m�F

�@CategoriesController��show()�A�N�V�������\�b�h��HTML���X�|���X�ɑΉ�����e���v���[�g�t�@�C���́Ascaffold�Ő������ꂽ���̃t�@�C���ł��B

app/views/categories/show.html.erb
              �R���g���[���[��
                           �A�N�V�������\�b�h��
                                              ���X�|���X�`��

<p>
  <b>Name:</b>
  <%=h @category.name %>
</p>
<p>
  <b>Description:</b>
  <%=h @category.description %>
</p>
<%= link_to 'Edit', edit_category_path(@category) %> |
<%= link_to 'Back', categories_path %>

�@���̃e���v���[�g��PHP��<?php ?>�ȂǂƓ��l�ɁA�u<%= �c�c %>�v�̒��ɁARuby�R�[�h���L�q�ł��鏑���ɂȂ��Ă���A���[�U�[�ɂ�Ruby�R�[�h�̎��s���ʂɒu��������ꂽ���̂��Ԃ����d�g�݂ɂȂ��Ă��܂��B

�@�ϐ��u@category�v�́A CategoriesController�́u@category = Category.find(params[:id])�v�ŃZ�b�g����@category�Ɠ���I�u�W�F�N�g�ł��B

�@Rails��erb�̎d�g�݂̏ڍׂɋ���������Ȃ�A�ȉ����Q�Ƃ��Ă��������B

�w���p���\�b�h���g����HTML�^�O�̐���

�@Rails�ɂ̓r���[���ł悭�g����L�q�iHTML�^�O�Ȃǁj�̐��������Ă����w���p���\�b�h�ƌĂ΂�郁�\�b�h�Q������܂��B�ȉ��̂悤�ɁAshow.html.erb�ŗ��p����Ă���link_to()���w���p���\�b�h�ł��i�Q�l�j�B

<%= link_to 'Edit', edit_category_path(@category) %>

�@link_to���^�O�𐶐�������̂ŁA���̂悤��HTML�^�O����������܂��B

<a href="/categories/523709510/edit">Edit</a>

�@edit_category_path�́ARails��REST�Ή��Ŏ����I�ɐ������ꂽ�w���p���\�b�h�ŁA�n���ꂽ�����u@category�v�ɑΉ������J�e�S���ڍ׉�ʂ�URL��Ԃ����\�b�h�ł��B

�@�w���p���\�b�h�̏ڍׂɋ���������Ȃ�A�uModule: ActionController::Helpers::ClassMethods�v���Q�Ƃ��Ă��������B

scaffold�Ő������ꂽ�ЂȌ^���C��

�@��������́Ascaffold�Ő������ꂽ�ЂȌ^���C�����Ă����܂��B

�J�e�S���ꗗ�f�[�^�̎擾

�@�T���v���ł́A�J�e�S���ڍ׉�ʂ̏㕔�ɃJ�e�S�����ꗗ���\������Ă���̂ŁA���ꂪ�\�������悤�ɏC�����Ă݂܂��B���̗���ɂȂ�܂��B

  1. �R���g���[���[���őS�J�e�S���̃f�[�^���擾���r���[�ɓn��
  2. �r���[�őS�J�e�S���̃f�[�^��`�悷��

�@1����������ɂ́A�܂�ActiveRecord��find()���\�b�h���g�p���܂��BCategoriesController�N���X��show()�A�N�V�������\�b�h���ɁA����1�s��lj����܂����B

def show
    @categories = Category.find(:all)   // ���̍s��lj�
    @category = Category.find(params[:id])

�@�uCategory.find(:all) �v�́Acategories�e�[�u���̑S���R�[�h���擾���ACategory�N���X�̃C���X�^���X�̔z��Ƃ��ĕԂ��܂��i�Q�l�j�B

�p�[�V�����i�����e���v���[�g�j���g�����`��

�@�r���[�őS�J�e�S���̃f�[�^��`�悷�邽�߂ɁA�����Rails�̕����e���v���[�g�̎d�g�݁u�p�[�V�����v���g���܂��B�uapp/views/categories/show.html.erb�v�̐擪�Ɏ��̋L�q��lj����܂����B

<ul id='categories'>
  <%= render({:partial => "category", :collection => @categories}) %>
</ul>

�@����render()���\�b�h�́A�����e���v���[�gcategory�ŁA�u@categories����Category�C���X�^���X���ꂼ����g���ČJ��Ԃ��`����s���v�Ƃ����Ӗ��ł��i�Q�l�j�B

�@����̕����e���v���[�g���́ucategory�v�Ƃ��܂����B�����e���v���[�g�t�@�C���Ƃ��āA�ȉ��̂悤�ɁA�����e���v���[�g���Ɂu_�v�i�A���_�[�o�[�j��t�����t�@�C�����ŗp�ӂ��܂��B

  • app/views/categories/_category.html.erb

�@�����e���v���[�g���ł́A�ucategory�v�Ƃ����ϐ��ŁA���ݕ`����s���Ă���J�e�S���ɃA�N�Z�X�ł��܂��B�����e���v���[�g�̓��e�����̂悤�ɂ��܂����B

<li><%= link_to(category.name, category_path(category)) %></li>

�@category_path�́ARail��REST�Ή��Ŏ����I�ɐ������ꂽ�w���p���\�b�h�ŁA�n���ꂽ������Category�C���X�^���X�ɑΉ������J�e�S���ڍ׉�ʂ�URL��Ԃ����\�b�h�ł��i�Q�l�j�B

�@��ʂ��m�F���Ă݂܂��傤�B

}5@XVꂽJeSڍ׉ �}5�@�X�V���ꂽ�J�e�S���ڍ׉��

�@�J�e�S���ڍ׉�ʂ̏㕔�ɃJ�e�S�����ꗗ���\������A�N���b�N����ƁA���̃J�e�S���ڍ׉�ʂɑJ�ڂ���悤�ɂȂ�܂����B

�ׂ����K�肳�ꂽ�J����@�Ŕ��ɍ������Y��

�@�����Ruby on Rails��RJS���g�p����Ajax�̊J���𗝉����鑫�|����Ƃ��āARuby on Rails���̂��̂̉�������Ă��܂����BRails�͊J����@���ׂ����K�肳��Ă���A����ɉ����ĊJ�����邱�ƂŔ��ɍ������Y�����������܂��B

�@����́A���������Rails���̃��[����m��K�v�����������߁ARJS�̉���܂Ŏ��邱�Ƃ��ł��܂���ł������A�����RJS�̊J�������C���ɍs���Ă����܂��̂ŁA�ǂ������y���݂ɁI

�O�̃y�[�W�� 1|2|3|4 �@�@�@�@�@�@

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�[�}

4AI by IT - AIAAA
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