<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>ASCIIcasts - Full Episode Feed</title>
    <description>The latest episodes from ASCIIcasts</description>
    <link>http://asciicasts.com/</link>
    <pubDate>Mon, 24 Oct 2011 09:34:04 +0000</pubDate>
    <ttl>1440</ttl>
    <item>
      <title>Draper</title>
      <description>&lt;p&gt;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&lt;a href="https://github.com/jcasimir/draper"&gt;Draper&lt;/a&gt;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Draper&amp;#x306F;presenter&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x306B;&amp;#x4F3C;&amp;#x305F;&amp;#x5F62;&amp;#x3067;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x306B;decorator&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3059;&amp;#x308B;gem&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x3084;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x8907;&amp;#x96D1;&amp;#x306A;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x3001;Draper&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3088;&amp;#x308A;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x6307;&amp;#x5411;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30ED;&amp;#x30FC;&amp;#x30C1;&amp;#x3092;&amp;#x3068;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x3059;&amp;#x3063;&amp;#x304D;&amp;#x308A;&amp;#x3068;&amp;#x6574;&amp;#x7406;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x305D;&amp;#x306E;&amp;#x3057;&amp;#x304F;&amp;#x307F;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4E0B;&amp;#x306B;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x30D7;&amp;#x30ED;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x305D;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x5404;&amp;#x7A2E;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x306F;&amp;#x3001;&amp;#x30A2;&amp;#x30D0;&amp;#x30BF;&amp;#x30FC;&amp;#x753B;&amp;#x50CF;&amp;#x3001;&amp;#x30D5;&amp;#x30EB;&amp;#x30CD;&amp;#x30FC;&amp;#x30E0;&amp;#x3001;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x3001;Markdown&amp;#x3067;&amp;#x8A18;&amp;#x8FF0;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&amp;#x7565;&amp;#x6B74;&amp;#x3001;Web&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3068;Twitter&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30C9;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;Web&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x5165;&amp;#x529B;&amp;#x3057;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x30A2;&amp;#x30D0;&amp;#x30BF;&amp;#x30FC;&amp;#x753B;&amp;#x50CF;&amp;#x3068;&amp;#x30D5;&amp;#x30EB;&amp;#x30CD;&amp;#x30FC;&amp;#x30E0;&amp;#x306F;&amp;#x305D;&amp;#x306E;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/747/original/E286I01.png" width="800" height="595" alt="&#12377;&#12409;&#12390;&#12398;&#35443;&#32048;&#24773;&#22577;&#12434;&#20837;&#21147;&#12375;&#12383;&#12518;&#12540;&#12470;&#12398;&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;&#12506;&#12540;&#12472;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306F;&amp;#x5358;&amp;#x7D14;&amp;#x306A;&amp;#x69CB;&amp;#x9020;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x898B;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;MrMystery&amp;#x3055;&amp;#x3093;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3042;&amp;#x307E;&amp;#x308A;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x5165;&amp;#x529B;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x51E6;&amp;#x7406;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/748/original/E286I02.png" width="800" height="470" alt="&#12411;&#12392;&#12435;&#12393;&#35443;&#32048;&#24773;&#22577;&#12434;&#20837;&#21147;&#12375;&#12390;&#12356;&#12394;&#12356;&#12518;&#12540;&#12470;&#12398;&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;&#12506;&#12540;&#12472;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x3092;&amp;#x5165;&amp;#x529B;&amp;#x3057;&amp;#x305F;&amp;#x3060;&amp;#x3051;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30D5;&amp;#x30EB;&amp;#x30CD;&amp;#x30FC;&amp;#x30E0;&amp;#x306E;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x3001;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x306E;&amp;#x30A2;&amp;#x30D0;&amp;#x30BF;&amp;#x30FC;&amp;#x753B;&amp;#x50CF;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x4EE3;&amp;#x66FF;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x60C5;&amp;#x5831;&amp;#x91CF;&amp;#x306B;&amp;#x5FDC;&amp;#x3058;&amp;#x3066;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x6271;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x591A;&amp;#x304F;&amp;#x306E;if&amp;#x6761;&amp;#x4EF6;&amp;#x3092;&amp;#x6301;&amp;#x3064;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306E;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x306F;&amp;#x3088;&amp;#x308A;&amp;#x8907;&amp;#x96D1;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x306E;&amp;#x4E00;&amp;#x90E8;&amp;#x3092;&amp;#x3069;&amp;#x3053;&amp;#x304B;&amp;#x4ED6;&amp;#x306B;&amp;#x79FB;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x3059;&amp;#x3063;&amp;#x304D;&amp;#x308A;&amp;#x3057;&amp;#x305F;&amp;#x5F62;&amp;#x306B;&amp;#x5909;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;div id=&amp;quot;profile&amp;quot;&amp;gt;
  &amp;lt;%= link_to_if @user.url.present?, &amp;crarr; 
  image_tag(&amp;quot;avatars/#{avatar_name(@user)}&amp;quot;, class: &amp;quot;avatar&amp;quot;), &amp;crarr;
  @user.url %&amp;gt;
  &amp;lt;h1&amp;gt;&amp;lt;%= link_to_if @user.url.present?, &amp;crarr;
    (@user.full_name.present? ? @user.full_name : &amp;crarr;
    @user.username), @user.url %&amp;gt;&amp;lt;/h1&amp;gt;
  &amp;lt;dl&amp;gt;
    &amp;lt;dt&amp;gt;Username:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.username %&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Member Since:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.member_since %&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Website:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;
    &amp;lt;% if @user.url.present? %&amp;gt;
      &amp;lt;%= link_to @user.url, @user.url %&amp;gt;
    &amp;lt;% else %&amp;gt;
      &amp;lt;span class=&amp;quot;none&amp;quot;&amp;gt;None given&amp;lt;/span&amp;gt;
    &amp;lt;% end %&amp;gt;
    &amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Twitter:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;
    &amp;lt;% if @user.twitter_name.present? %&amp;gt;
      &amp;lt;%= link_to @user.twitter_name, &amp;crarr;
  &amp;quot;http://twitter.com/#{@user.twitter_name}&amp;quot; %&amp;gt;
    &amp;lt;% else %&amp;gt;
      &amp;lt;span class=&amp;quot;none&amp;quot;&amp;gt;None given&amp;lt;/span&amp;gt;
    &amp;lt;% end %&amp;gt;
    &amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Bio:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;
    &amp;lt;% if @user.bio.present? %&amp;gt;
      &amp;lt;%=raw Redcarpet.new(@user.bio, :hard_wrap, :filter_html, &amp;crarr;
        :autolink).to_html %&amp;gt;
    &amp;lt;% else %&amp;gt;
      &amp;lt;span class=&amp;quot;none&amp;quot;&amp;gt;None given&amp;lt;/span&amp;gt;
    &amp;lt;% end %&amp;gt;
    &amp;lt;/dd&amp;gt;
  &amp;lt;/dl&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x306F;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x95A2;&amp;#x9023;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x5074;&amp;#x306B;&amp;#x62BD;&amp;#x51FA;&amp;#x3059;&amp;#x308B;&amp;#x8A33;&amp;#x306B;&amp;#x306F;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x89E3;&amp;#x6C7A;&amp;#x7B56;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x306F;&amp;#x3001;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x8003;&amp;#x3048;&amp;#x3089;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x3059;&amp;#x3067;&amp;#x306B;&amp;#x3001;&amp;#x30A2;&amp;#x30D0;&amp;#x30BF;&amp;#x30FC;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&lt;code&gt;image_tag&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x8EAB;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/helpers/users_helper.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;module UsersHelper
  def avatar_name(user)
    if user.avatar_image_name.present?
      user.avatar_image_name
    else
      &amp;quot;default.png&amp;quot;
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x30A2;&amp;#x30D0;&amp;#x30BF;&amp;#x30FC;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x3092;&amp;#x5224;&amp;#x65AD;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x753B;&amp;#x50CF;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x540D;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x304B;&amp;#x3089;&amp;#x3055;&amp;#x3089;&amp;#x306B;&amp;#x30ED;&amp;#x30B8;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x62BD;&amp;#x51FA;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x304C;&amp;#x30B0;&amp;#x30ED;&amp;#x30FC;&amp;#x30D0;&amp;#x30EB;&amp;#x306A;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x306E;&amp;#x5358;&amp;#x306A;&amp;#x308B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3067;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3063;&amp;#x305F;&amp;#x304F;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x6307;&amp;#x5411;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x70B9;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Draper&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&lt;/h3&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B1;&amp;#x30FC;&amp;#x30B9;&amp;#x306F;presenter(Draper&amp;#x306E;&amp;#x7528;&amp;#x8A9E;&amp;#x3067;&amp;#x306F;decorator)&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x4F8B;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x9069;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;Draper&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;Draper gem&amp;#x306F;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;&amp;#x53C2;&amp;#x7167;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&lt;code&gt;bundle&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;source &amp;#x27;http://rubygems.org&amp;#x27;

gem &amp;#x27;rails&amp;#x27;, &amp;#x27;3.1.0&amp;#x27;
gem &amp;#x27;sqlite3&amp;#x27;


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem &amp;#x27;sass-rails&amp;#x27;, &amp;quot;  ~&amp;gt; 3.1.0&amp;quot;
  gem &amp;#x27;coffee-rails&amp;#x27;, &amp;quot;~&amp;gt; 3.1.0&amp;quot;
  gem &amp;#x27;uglifier&amp;#x27;
end

gem &amp;#x27;jquery-rails&amp;#x27;
gem &amp;#x27;redcarpet&amp;#x27;

gem &amp;#x27;draper&amp;#x27;&lt;/pre&gt;

&lt;p&gt;Draper&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3089;&amp;#x3001;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;decorator&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&lt;code&gt;draper:decorator&lt;/code&gt;&amp;#x30B8;&amp;#x30A7;&amp;#x30CD;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="ruby"&gt;$ rails g draper:decorator user
      create  app/decorators
      create  app/decorators/application_decorator.rb
      create  app/decorators/user_decorator.rb&lt;/pre&gt;
      
&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x304C;&amp;#x521D;&amp;#x3081;&amp;#x3066;&amp;#x306E;decorator&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;application_decorator&lt;/code&gt;&amp;#x3082;&amp;#x540C;&amp;#x6642;&amp;#x306B;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x308B;decorator&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;ApplicationDecorator&amp;#x3092;&amp;#x7D99;&amp;#x627F;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;decorator&amp;#x3067;&amp;#x5171;&amp;#x901A;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306F;&amp;#x898B;&amp;#x305F;&amp;#x901A;&amp;#x308A;&amp;#x5358;&amp;#x7D14;&amp;#x3067;&amp;#x3001;&amp;#x307B;&amp;#x3068;&amp;#x3093;&amp;#x3069;&amp;#x304C;&amp;#x305D;&amp;#x306E;&amp;#x3057;&amp;#x304F;&amp;#x307F;&amp;#x3092;&amp;#x8AAC;&amp;#x660E;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x306E;&amp;#x6574;&amp;#x7406;&amp;#x3092;&amp;#x59CB;&amp;#x3081;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30D7;&amp;#x30ED;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x6574;&amp;#x7406;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&amp;#x30D7;&amp;#x30ED;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3067;Draper&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x307E;&amp;#x305A;&lt;code&gt;UsersController&lt;/code&gt;&amp;#x5185;&amp;#x306E;&lt;code&gt;show&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x3001;&amp;#x73FE;&amp;#x72B6;&amp;#x3067;&amp;#x306F;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&lt;code&gt;User&lt;/code&gt;&amp;#x3092;&amp;#x53D6;&amp;#x5F97;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/users_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class UsersController &amp;lt; ApplicationController
  def index
    @users = User.all
  end

  def show
    @user = User.find(params[:id])
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;decorator&amp;#x3067;&amp;#x30E9;&amp;#x30C3;&amp;#x30D7;(wrap)&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&lt;code&gt;User.find&lt;/code&gt;&amp;#x3092;&lt;code&gt;UserDecorator.find&lt;/code&gt;&amp;#x3067;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/users_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def show
  @user = UserDecorator.find(params[:id])
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x3092;&amp;#x8FD4;&amp;#x3059;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x306F;&lt;code&gt;User&lt;/code&gt;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x30E9;&amp;#x30C3;&amp;#x30D7;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&lt;code&gt;User&lt;/code&gt;&amp;#x306B;&amp;#x59D4;&amp;#x8B72;&amp;#x3057;&amp;#x307E;&amp;#x3059;(&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x5F8C;&amp;#x307B;&amp;#x3069;&amp;#x8A73;&amp;#x3057;&amp;#x304F;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x307E;&amp;#x3059;)&amp;#x3002;&lt;code&gt;User&lt;/code&gt;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x3092;&amp;#x5BFE;&amp;#x8C61;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x5909;&amp;#x308F;&amp;#x3063;&amp;#x305F;&amp;#x306B;&amp;#x3082;&amp;#x304B;&amp;#x304B;&amp;#x308F;&amp;#x3089;&amp;#x305A;&amp;#x3001;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x4EE5;&amp;#x524D;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x52D5;&amp;#x4F5C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3067;&amp;#x306F;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x306E;&amp;#x6574;&amp;#x7406;&amp;#x3092;&amp;#x59CB;&amp;#x3081;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x307E;&amp;#x305A;&amp;#x306F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;&amp;#x30A2;&amp;#x30D0;&amp;#x30BF;&amp;#x30FC;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;%= link_to_if @user.url.present?, image_tag( &amp;crarr; 
  &amp;quot;avatars/#{avatar_name(@user)}&amp;quot;, class: &amp;quot;avatar&amp;quot;), @user.url %&amp;gt;&lt;/pre&gt;
  
&lt;p&gt;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x306E;&amp;#x3053;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3092;&amp;#x6B21;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;%= @user.avatar %&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x306E;avatar&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x63A2;&amp;#x3059;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x6B21;&amp;#x306B;&amp;#x305D;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x66F8;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x66F8;&amp;#x304F;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x6CE8;&amp;#x610F;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x884C;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;decorator&amp;#x304B;&amp;#x3089;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;(&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&lt;code&gt;link_to_if&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;)&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&lt;code&gt;h&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;(helper&amp;#x306E;&amp;#x7565;)&amp;#x3092;&amp;#x4ECB;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x304D;&amp;#x306F;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3067;&amp;#x3044;&amp;#x3048;&amp;#x3070;&lt;code&gt;@user&lt;/code&gt;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;&lt;code&gt;model&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x304B;&amp;#x3089;&lt;code&gt;avatar&lt;/code&gt;&amp;#x306B;&amp;#x30B3;&amp;#x30D4;&amp;#x30FC;&amp;#x3057;&amp;#x305F;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;&lt;code&gt;avatar_name&lt;/code&gt;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;decorator&amp;#x304B;&amp;#x3089;&lt;code&gt;avatar_name&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;avatar_name&lt;/code&gt;&amp;#x3092;&lt;code&gt;UsersHelper&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x304B;&amp;#x3089;decorator&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x540C;&amp;#x3058;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x5185;&amp;#x306B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;User&lt;/code&gt;&amp;#x3092;&amp;#x6E21;&amp;#x3059;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;user&amp;#x306E;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3092;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class UserDecorator &amp;lt; ApplicationDecorator
  decorates :user
  
  def avatar
    h.link_to_if model.url.present?, h.image_tag(&amp;quot;avatars/#{avatar_name}&amp;quot;, class: &amp;quot;avatar&amp;quot;), model.url
  end
  
  private
  def avatar_name
    if model.avatar_image_name.present?
      model.avatar_image_name
    else
      &amp;quot;default.png&amp;quot;
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x6574;&amp;#x7406;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x306E;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;h1&amp;gt;&amp;lt;%= link_to_if @user.url.present?, (@user.full_name.present? ? @user.full_name : @user.username), @user.url %&amp;gt;&amp;lt;/h1&amp;gt;&lt;/pre&gt;
 
&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x6B21;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x66F8;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;h1&amp;gt;&amp;lt;%= @user.linked_name %&amp;gt;&amp;lt;/h1&amp;gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x306B;&lt;code&gt;linked_name&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x66F8;&amp;#x304B;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x304B;&amp;#x3089;&amp;#x53D6;&amp;#x308A;&amp;#x51FA;&amp;#x3057;&amp;#x305F;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3068;&amp;#x524D;&amp;#x306B;&amp;#x66F8;&amp;#x3044;&amp;#x305F;&lt;code&gt;avatar&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x4F3C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x70B9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3069;&amp;#x3061;&amp;#x3089;&amp;#x3082;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x306F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;URL&amp;#x304C;&amp;#x5B58;&amp;#x5728;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x4F9D;&amp;#x5B58;&amp;#x3057;&amp;#x3066;&amp;#x5909;&amp;#x308F;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x306F;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306E;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x91CD;&amp;#x8907;&amp;#x306F;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x30EA;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x751F;&amp;#x6210;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&amp;#x6271;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x306B;&lt;code&gt;site_link&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30D7;&amp;#x30E9;&amp;#x30A4;&amp;#x30D9;&amp;#x30FC;&amp;#x30C8;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x65B0;&amp;#x305F;&amp;#x306B;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3068;&amp;#x3057;&amp;#x3066;content&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3001;&lt;code&gt;avatar&lt;/code&gt;&amp;#x3068;&lt;code&gt;linked_name&lt;/code&gt;&amp;#x306E;&amp;#x4E21;&amp;#x65B9;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304B;&amp;#x3089;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x3001;&amp;#x304D;&amp;#x308C;&amp;#x3044;&amp;#x306B;&amp;#x6574;&amp;#x7406;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x524D;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&lt;code&gt;linked_name&lt;/code&gt;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&lt;code&gt;@user&lt;/code&gt;&amp;#x306E;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&lt;code&gt;model&lt;/code&gt;&amp;#x306B;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x4FEE;&amp;#x6B63;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x7D42;&amp;#x308F;&amp;#x308B;&amp;#x3068;&amp;#x3001;decorator &amp;#x306F;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class UserDecorator &amp;lt; ApplicationDecorator
  decorates :user
  
  def avatar
    site_link h.image_tag(&amp;quot;avatars/#{avatar_name}&amp;quot;, &amp;crarr;
      class: &amp;quot;avatar&amp;quot;)
  end
  
  def linked_name
    site_link(model.full_name.present? ? model.full_name : &amp;crarr;
      model.username)
  end
  
  private
  def site_link(content)
    h.link_to_if model.url.present?, content, model.url
  end
  
  def avatar_name
    if model.avatar_image_name.present?
      model.avatar_image_name
    else
      &amp;quot;default.png&amp;quot;
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x76F4;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x524D;&amp;#x3068;&amp;#x307E;&amp;#x3063;&amp;#x305F;&amp;#x304F;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x306F;&amp;#x5341;&amp;#x5206;&amp;#x304D;&amp;#x308C;&amp;#x3044;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x3088;&amp;#x3046;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x307E;&amp;#x3060;&amp;#x6539;&amp;#x5584;&amp;#x306E;&amp;#x4F59;&amp;#x5730;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x6B21;&amp;#x306F;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x3088;&amp;#x308A;&amp;#x5927;&amp;#x304D;&amp;#x306A;&amp;#x90E8;&amp;#x5206;&amp;#x3092;&amp;#x30EA;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;Web&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x90E8;&amp;#x5206;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/user/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;dt&amp;gt;Website:&amp;lt;/dt&amp;gt;
&amp;lt;dd&amp;gt;
  &amp;lt;% if @user.url.present? %&amp;gt;
    &amp;lt;%= link_to @user.url, @user.url %&amp;gt;
  &amp;lt;% else %&amp;gt;
    &amp;lt;span class=&amp;quot;none&amp;quot;&amp;gt;None given&amp;lt;/span&amp;gt;
  &amp;lt;% end %&amp;gt;
&amp;lt;/dd&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4E0B;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x3067;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/user/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;dt&amp;gt;Website:&amp;lt;/dt&amp;gt;
&amp;lt;dd&amp;gt;&amp;lt;%= @user.website %&amp;gt;&amp;lt;/dd&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x524D;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;decorator&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x304B;&amp;#x3089;&amp;#x524A;&amp;#x9664;&amp;#x3057;&amp;#x305F;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x898B;&amp;#x308C;&amp;#x3070;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&lt;code&gt;url&lt;/code&gt;&amp;#x3092;&amp;#x6301;&amp;#x305F;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3042;&amp;#x308B;HTML&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x5358;&amp;#x306B;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8FD4;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x751F;&amp;#x306E;HTML&amp;#x3092;Ruby&amp;#x30D7;&amp;#x30ED;&amp;#x30B0;&amp;#x30E9;&amp;#x30E0;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x7F6E;&amp;#x304D;&amp;#x305F;&amp;#x304F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x5225;&amp;#x306E;&amp;#x89E3;&amp;#x6C7A;&amp;#x6CD5;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x90E8;&amp;#x5206;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;(partial)&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3084;&amp;#x308A;&amp;#x65B9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305F;&amp;#x304B;&amp;#x3060;&amp;#x304B;&amp;#x4E00;&amp;#x3064;&amp;#x306E;HTML&amp;#x8981;&amp;#x7D20;&amp;#x3092;&amp;#x51FA;&amp;#x529B;&amp;#x3059;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;content_tag&lt;/code&gt;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x307B;&amp;#x3046;&amp;#x304C;&amp;#x5408;&amp;#x7406;&amp;#x7684;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def website
  if model.url.present?
    h.link_to model.url, model.url
  else
    h.content_tag :span, &amp;quot;None given&amp;quot;, class: &amp;quot;none&amp;quot;
  end  
end&lt;/pre&gt;

&lt;p&gt;Twitter&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3068;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;&amp;#x7565;&amp;#x6B74;&amp;#x3092;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x540C;&amp;#x3058;&amp;#x624B;&amp;#x6CD5;&amp;#x3092;&amp;#x3068;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x8A73;&amp;#x7D30;&amp;#x306F;&amp;#x8FF0;&amp;#x3079;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x4FEE;&amp;#x6B63;&amp;#x5F8C;&amp;#x306E;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x304D;&amp;#x308C;&amp;#x3044;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/show.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;div id=&amp;quot;profile&amp;quot;&amp;gt;
  &amp;lt;%= @user.avatar %&amp;gt;
  &amp;lt;h1&amp;gt;&amp;lt;%= @user.linked_name %&amp;gt;&amp;lt;/h1&amp;gt;
  &amp;lt;dl&amp;gt;
    &amp;lt;dt&amp;gt;Username:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.username %&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Member Since:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.member_since %&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Website:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.website %&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Twitter:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.twitter %&amp;gt;&amp;lt;/dd&amp;gt;
    &amp;lt;dt&amp;gt;Bio:&amp;lt;/dt&amp;gt;
    &amp;lt;dd&amp;gt;&amp;lt;%= @user.bio %&amp;gt;&amp;lt;/dd&amp;gt;
  &amp;lt;/dl&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;decorator&amp;#x5185;&amp;#x306E;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&lt;code&gt;twitter&lt;/code&gt;&amp;#x3068;&lt;code&gt;bio&lt;/code&gt;&amp;#x306E;&amp;#x5404;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x6B21;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def website
  if model.url.present?
    h.link_to model.url, model.url
  else
    h.content_tag :span, &amp;quot;None given&amp;quot;, class: &amp;quot;none&amp;quot;
  end  
end

def twitter
  if model.twitter_name.present?
    h.link_to model.twitter_name, &amp;crarr;  
      &amp;quot;http://twitter.com/#{model.twitter_name}&amp;quot;
  else
    h.content_tag :span, &amp;quot;None given&amp;quot;, class: &amp;quot;none&amp;quot;
  end
end
  
def bio
  if model.bio.present?
    Redcarpet.new(model.bio, :hard_wrap, :filter_html, &amp;crarr;
 		:autolink).to_html.html_safe
  else
    h.content_tag :span, &amp;quot;None given&amp;quot;, class: &amp;quot;none&amp;quot;
  end
end&lt;/pre&gt;

&lt;p&gt;2&amp;#x3064;&amp;#x306E;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x3068;&amp;#x3066;&amp;#x3082;&amp;#x4F3C;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x524D;&amp;#x306B;&amp;#x66F8;&amp;#x3044;&amp;#x305F;&lt;code&gt;website&lt;/code&gt;&amp;#x306B;&amp;#x3082;&amp;#x4F3C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;3&amp;#x3064;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3001;&amp;#x7279;&amp;#x306B;&lt;code&gt;else&lt;/code&gt;&amp;#x7BC0;&amp;#x304C;&amp;#x91CD;&amp;#x8907;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x3053;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3092;&amp;#x72EC;&amp;#x7ACB;&amp;#x3057;&amp;#x305F;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x62BD;&amp;#x51FA;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x304C;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3064;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;code&gt;else&lt;/code&gt;&amp;#x7BC0;&amp;#x3092;&amp;#x72EC;&amp;#x7ACB;&amp;#x3057;&amp;#x305F;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x62BD;&amp;#x51FA;&amp;#x3057;&amp;#x3001;&lt;code&gt;handle_none&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x540D;&amp;#x524D;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5B58;&amp;#x5728;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5024;&amp;#x3068;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5024;&amp;#x304C;&amp;#x5B58;&amp;#x5728;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x5185;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x306A;&amp;#x3051;&amp;#x308C;&amp;#x3070;span&amp;#x30BF;&amp;#x30B0;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&lt;code&gt;handle_none&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&lt;code&gt;website&lt;/code&gt;&amp;#x3001;&lt;code&gt;twitter&lt;/code&gt;&amp;#x3001;&lt;code&gt;bio&lt;/code&gt;&amp;#x306E;&amp;#x5404;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x6574;&amp;#x7406;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def website
  handle_none model.url do
    h.link_to model.url, model.url
  end  
end
  
def twitter
  handle_none model.twitter_name do
    h.link_to model.twitter_name, &amp;crarr; 
      &amp;quot;http://twitter.com/#{model.twitter_name}&amp;quot;
  end
end
  
def bio
  handle_none model.bio do
    Redcarpet.new(model.bio, :hard_wrap, :filter_html, &amp;crarr;
      :autolink).to_html.html_safe
  end
end
  
private
def handle_none(value)
  if value.present?
    yield
  else
    h.content_tag :span, &amp;quot;None given&amp;quot;, class: &amp;quot;none&amp;quot;
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x4FEE;&amp;#x6B63;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x70B9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3001;Markdown&amp;#x306E;&amp;#x8868;&amp;#x793A;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&lt;code&gt;ApplicationDecorator&lt;/code&gt;&amp;#x306B;&amp;#x62BD;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x4ECA;&amp;#x5F8C;&amp;#x4F5C;&amp;#x308B;&amp;#x304B;&amp;#x3082;&amp;#x3057;&amp;#x308C;&amp;#x306A;&amp;#x3044;&amp;#x4ED6;&amp;#x306E;decorator&amp;#x304B;&amp;#x3089;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x305B;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x65B0;&amp;#x305F;&amp;#x306B;&lt;code&gt;markdown&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x51E6;&amp;#x7406;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/application_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class ApplicationDecorator &amp;lt; Draper::Base
  def markdown(text)
    Redcarpet.new(text, :hard_wrap, :filter_html, &amp;crarr; 
      :autolink).to_html.html_safe
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x5185;&amp;#x3067;&lt;code&gt;bio&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304B;&amp;#x3089;&lt;code&gt;markdown&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x4FEE;&amp;#x6B63;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def bio
  handle_none model.bio do
    markdown(model.bio)
  end
end&lt;/pre&gt;

&lt;h3&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;decorator&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x6A5F;&amp;#x80FD;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x5C64;&amp;#x3092;&amp;#x4E00;&amp;#x5EA6;&amp;#x898B;&amp;#x6E21;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x3066;&amp;#x3001;&amp;#x3082;&amp;#x3057;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x95A2;&amp;#x9023;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;decorator&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x3001;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x6642;&amp;#x9593;&amp;#x3092;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30DE;&amp;#x30C3;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&lt;code&gt;member_since&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30DE;&amp;#x30C3;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x3092;&amp;#x8FD4;&amp;#x3059;&amp;#x3060;&amp;#x3051;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x95A2;&amp;#x9023;&amp;#x3060;&amp;#x3068;&amp;#x898B;&amp;#x306A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;decorator&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/user.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class User &amp;lt; ActiveRecord::Base
  def member_since
    created_at.strftime(&amp;quot;%B %e, %Y&amp;quot;)
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x4F5C;&amp;#x696D;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x306F;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;decorator&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x3066;&amp;#x3001;&lt;code&gt;created_at&lt;/code&gt;&amp;#x306E;&amp;#x524D;&amp;#x306B;&lt;code&gt;model&lt;/code&gt;&amp;#x3092;&amp;#x4ED8;&amp;#x3051;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def member_since
  model.created_at.strftime(&amp;quot;%B %e, %Y&amp;quot;)
end&lt;/pre&gt;

&lt;h3&gt;&lt;code&gt;allows&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x7528;&amp;#x3044;&amp;#x3066;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3078;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x5236;&amp;#x9650;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x9593;&amp;#x306B;&amp;#x3001;Draper&amp;#x306E;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3067;&amp;#x3042;&amp;#x308B;&lt;code&gt;allows&lt;/code&gt;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&lt;code&gt;UserDecorator&lt;/code&gt;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&lt;code&gt;User&lt;/code&gt;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306B;&amp;#x59D4;&amp;#x8B72;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x59D4;&amp;#x8B72;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x9078;&amp;#x629E;&amp;#x3057;&amp;#x3066;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x306F;&lt;code&gt;allows&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x59D4;&amp;#x8B72;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/decorators/user_decorator.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class UserDecorator &amp;lt; ApplicationDecorator
  decorates :user
  allows :username

  # Other methods omitted
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&lt;code&gt;username&lt;/code&gt;&amp;#x306E;&amp;#x307F;&amp;#x306E;&amp;#x59D4;&amp;#x8B72;&amp;#x3092;&amp;#x8A31;&amp;#x53EF;&amp;#x3057;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&lt;code&gt;username&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3060;&amp;#x3051;&amp;#x304C;User&amp;#x306B;&amp;#x59D4;&amp;#x8B72;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x304C;&amp;#x3001;decorator&amp;#x306B;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x304B;&amp;#x3089;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x552F;&amp;#x4E00;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x59D4;&amp;#x8B72;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x3053;&amp;#x308C;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;decorator&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30BF;&amp;#x30D5;&amp;#x30A7;&amp;#x30FC;&amp;#x30B9;&amp;#x3092;&amp;#x3088;&amp;#x308A;&amp;#x7D30;&amp;#x304B;&amp;#x304F;&amp;#x5236;&amp;#x5FA1;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;decorator&amp;#x306B;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x3082;&amp;#x306E;&amp;#x3092;&amp;#x62BD;&amp;#x51FA;&amp;#x3059;&amp;#x308B;&amp;#x30EA;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x4F5C;&amp;#x696D;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x7D42;&amp;#x4E86;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3093;&amp;#x3067;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x304C;&amp;#x5909;&amp;#x308F;&amp;#x3089;&amp;#x305A;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/749/original/E286I03.png" width="800" height="583" alt="&#20462;&#27491;&#20316;&#26989;&#24460;&#12289;&#12518;&#12540;&#12470;&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;&#12506;&#12540;&#12472;&#12364;&#12377;&#12409;&#12390;&#22793;&#12431;&#12426;&#12394;&#12367;&#34920;&#31034;&#12373;&#12428;&#12427;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5FF5;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x4ED6;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3082;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x524D;&amp;#x3088;&amp;#x308A;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x304D;&amp;#x308C;&amp;#x3044;&amp;#x306B;&amp;#x6574;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/750/original/E286I04.png" width="800" height="469" alt="MrMystery&#12373;&#12435;&#12398;&#12503;&#12525;&#12501;&#12449;&#12452;&#12523;&#12506;&#12540;&#12472;&#12418;&#22793;&#12431;&#12426;&#12394;&#12367;&#34920;&#31034;&#12373;&#12428;&#12427;"/&gt;
&lt;/div&gt;

&lt;p&gt;decorator&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;1050&amp;#x30D0;&amp;#x30A4;&amp;#x30C8;&amp;#x3001;34&amp;#x884C;&amp;#x3060;&amp;#x3063;&amp;#x305F;show&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x306F;382&amp;#x30D0;&amp;#x30A4;&amp;#x30C8;&amp;#x3001;16&amp;#x884C;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30B5;&amp;#x30A4;&amp;#x30BA;&amp;#x3092;2/3&amp;#x524A;&amp;#x6E1B;&amp;#x3057;&amp;#x305F;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x898B;&amp;#x305F;&amp;#x76EE;&amp;#x3082;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x304D;&amp;#x308C;&amp;#x3044;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x3001;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306E;&amp;#x30EC;&amp;#x30A4;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306E;&amp;#x7DE8;&amp;#x96C6;&amp;#x4F5C;&amp;#x696D;&amp;#x3082;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 16 Oct 2011 22:26:42 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/286-draper</guid>
      <link>http://ja.asciicasts.com/episodes/286-draper</link>
    </item>
    <item>
      <title>Spork</title>
      <description>&lt;p&gt;&lt;a href="http://en.wikipedia.org/wiki/Spork"&gt;&amp;#x98DF;&amp;#x5668;&amp;#x306E;&amp;#x4E00;&amp;#x7A2E;&lt;/a&gt;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x540D;&amp;#x524D;&amp;#x3067;&amp;#x3042;&amp;#x308B;&lt;a href="https://github.com/timcharper/spork"&gt;Spork&lt;/a&gt;&amp;#x306F;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x306E;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x3092;&amp;#x9AD8;&amp;#x901F;&amp;#x5316;&amp;#x3059;&amp;#x308B;Ruby gem&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x306E;Spork&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x306E;&amp;#x901F;&amp;#x5EA6;&amp;#x3092;&amp;#x5411;&amp;#x4E0A;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x901A;&amp;#x5E38;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x6570;&amp;#x79D2;&amp;#x9593;&amp;#x306E;&amp;#x505C;&amp;#x6B62;&amp;#x72B6;&amp;#x614B;&amp;#x306E;&amp;#x3042;&amp;#x3068;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x958B;&amp;#x59CB;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3067;&amp;#x3001;&lt;code&gt;time&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3053;&amp;#x306E;&amp;#x505C;&amp;#x6B62;&amp;#x6642;&amp;#x9593;&amp;#x3092;&amp;#x8A08;&amp;#x6E2C;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ time rspec .
.........

Finished in 1.98 seconds
9 examples, 0 failures

real	0m11.090s
user	0m9.735s
sys	0m1.306s&lt;/pre&gt;

&lt;p&gt;RSpec&amp;#x306E;&amp;#x8868;&amp;#x793A;&amp;#x3067;&amp;#x306F;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x306E;&amp;#x5B9F;&amp;#x884C;&amp;#x6642;&amp;#x9593;&amp;#x306F;&amp;#x305B;&amp;#x3044;&amp;#x305C;&amp;#x3044;1&amp;#x301C;2&amp;#x79D2;&amp;#x3068;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&lt;code&gt;rspec&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x304B;&amp;#x3089;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x30D7;&amp;#x30ED;&amp;#x30F3;&amp;#x30D7;&amp;#x30C8;&amp;#x306B;&amp;#x623B;&amp;#x308B;&amp;#x307E;&amp;#x3067;&amp;#x306E;&amp;#x6642;&amp;#x9593;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x9577;&amp;#x304F;&amp;#x3001;11&amp;#x79D2;&amp;#x3092;&amp;#x8D85;&amp;#x3048;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F59;&amp;#x5206;&amp;#x306B;&amp;#x304B;&amp;#x304B;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x306F;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x6642;&amp;#x9593;&amp;#x3067;&amp;#x3001;&amp;#x4ECA;&amp;#x898B;&amp;#x305F;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x81EA;&amp;#x4F53;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x6642;&amp;#x9593;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x591A;&amp;#x304F;&amp;#x304B;&amp;#x304B;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;Spork&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x3092;&amp;#x89E3;&amp;#x6C7A;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306B;&amp;#x5F79;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Spork&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&lt;/h3&gt;

&lt;p&gt;Spork&amp;#x306F;&amp;#x4ED6;&amp;#x306E;gem&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x306E;&amp;#x307F;&amp;#x3067;&amp;#x4F7F;&amp;#x7528;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x305F;&amp;#x3081;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306E;&lt;code&gt;test&lt;/code&gt;&amp;#x30B0;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Rails 3&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x7528;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x3053;&amp;#x306E;gem&amp;#x306E;&amp;#x30D7;&amp;#x30EC;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;&amp;#x7248;(&amp;#x73FE;&amp;#x72B6;&amp;#x306F;&lt;code&gt;0.9.0.rc&lt;/code&gt;)&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;gem &amp;quot;rspec-rails&amp;quot;, :group =&amp;gt; [:test, :development]
group :test do
  gem &amp;quot;factory_girl_rails&amp;quot;
  gem &amp;quot;capybara&amp;quot;
  gem &amp;quot;guard-rspec&amp;quot;
  gem &amp;quot;spork&amp;quot;, &amp;quot;&amp;gt; 0.9.0.rc&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3044;&amp;#x3064;&amp;#x3082;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x304F;&amp;#x3001;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&lt;code&gt;bundle&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x8A18;&amp;#x8FF0;&amp;#x3055;&amp;#x308C;&amp;#x305F;gem&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x6B21;&amp;#x306B;Spork&amp;#x306E;&lt;code&gt;bootstrap&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x6E96;&amp;#x5099;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;pre class="terminal"&gt;$ spork --bootstrap
Using RSpec
Bootstrapping /Users/eifion/auth/spec/spec_helper.rb.
Done. Edit /Users/eifion/auth/spec/spec_helper.rb now with your favorite text editor and follow the instructions.&lt;/pre&gt;

&lt;p&gt;&amp;#x4E0A;&amp;#x306E;&amp;#x51FA;&amp;#x529B;&amp;#x304B;&amp;#x3089;&amp;#x308F;&amp;#x304B;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;RSpec&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;Spork&amp;#x304C;&amp;#x691C;&amp;#x77E5;&amp;#x3057;&amp;#x3066;&lt;code&gt;spec_helper&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x4FEE;&amp;#x6B63;&amp;#x7B87;&amp;#x6240;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/spec/spec_helper.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;require &amp;#x27;spork&amp;#x27;

Spork.prefork do
  # Loading more in this block will cause your tests to run faster. However,
  # if you change any configuration or code from libraries loaded here, you&amp;#x27;ll
  # need to restart spork for it take effect.

end

Spork.each_run do
  # This code will be run each time you run your specs.

end&lt;/pre&gt;

&lt;p&gt;Spork&amp;#x304C;&lt;code&gt;spec_helper&lt;/code&gt;&amp;#x306B;2&amp;#x3064;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x304C;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;1&amp;#x3064;&amp;#x76EE;&amp;#x306F;&lt;code&gt;prefork&lt;/code&gt;&amp;#x3067;&amp;#x3001;Spork&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x304C;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3046;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306F;&lt;code&gt;each_run&lt;/code&gt;&amp;#x3067;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3073;&amp;#x306B;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;spec_helper&lt;/code&gt;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x304B;&amp;#x304E;&amp;#x308A;&lt;code&gt;prefork&lt;/code&gt;&amp;#x306B;&amp;#x79FB;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x306A;&amp;#x308B;&amp;#x3079;&amp;#x304F;&amp;#x4E00;&amp;#x5EA6;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x6E08;&amp;#x3080;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x4E00;&amp;#x5EA6;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3067;&amp;#x3082;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x52D5;&amp;#x4F5C;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/spec/spec_helper.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;require &amp;#x27;rubygems&amp;#x27;
require &amp;#x27;spork&amp;#x27;

Spork.prefork do
  # This file is copied to spec/ when you run &amp;#x27;rails generate &amp;crarr;
  rspec:install&amp;#x27;
  ENV[&amp;quot;RAILS_ENV&amp;quot;] ||= &amp;#x27;test&amp;#x27;
  require File.expand_path(&amp;quot;../../config/environment&amp;quot;, __FILE__)
  require &amp;#x27;rspec/rails&amp;#x27;
  require &amp;#x27;capybara/rspec&amp;#x27;

  # Requires supporting ruby files with custom matchers and &amp;crarr;
    macros, etc,
  # in spec/support/ and its subdirectories.
  Dir[Rails.root.join(&amp;quot;spec/support/**/*.rb&amp;quot;)].each {|f| &amp;crarr;
    require f}

  RSpec.configure do |config|
    config.mock_with :rspec
    config.use_transactional_fixtures = true
    config.include(MailerMacros)
    config.before(:each) { reset_email }
  end
end

Spork.each_run do
  # This code will be run each time you run your specs.
end&lt;/pre&gt;

&lt;p&gt;Spork&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x306B;&amp;#x306F;&amp;#x3001;&lt;code&gt;spork&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ spork
Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
Spork is ready and listening on 8989!&lt;/pre&gt;

&lt;p&gt;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x304C;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x3068;&lt;code&gt;prefork&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x5185;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4E00;&amp;#x5EA6;&amp;#x3060;&amp;#x3051;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x7D9A;&amp;#x3044;&amp;#x3066;&amp;#x5225;&amp;#x306E;&amp;#x30BF;&amp;#x30FC;&amp;#x30DF;&amp;#x30CA;&amp;#x30EB;&amp;#x30A6;&amp;#x30A3;&amp;#x30F3;&amp;#x30C9;&amp;#x30A6;&amp;#x3092;&amp;#x958B;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x306F;Spork&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&lt;code&gt;--drb&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;Spork&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;spec&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x306F;&amp;#x3088;&amp;#x308A;&amp;#x65E9;&amp;#x304F;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;time&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&amp;#x4E0B;&amp;#x3067;&amp;#x518D;&amp;#x5EA6;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x7D42;&amp;#x4E86;&amp;#x307E;&amp;#x3067;&amp;#x306E;&amp;#x6642;&amp;#x9593;&amp;#x304C;&amp;#x77ED;&amp;#x304F;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x5F97;&amp;#x3089;&amp;#x308C;&amp;#x308B;&amp;#x6642;&amp;#x9593;&amp;#x306F;&amp;#x3001;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x898F;&amp;#x6A21;&amp;#x304C;&amp;#x5927;&amp;#x304D;&amp;#x304F;&amp;#x306A;&amp;#x308B;&amp;#x307B;&amp;#x3069;&amp;#x5897;&amp;#x3048;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ time rspec . --drb
.........

Finished in 2.21 seconds
9 examples, 0 failures

real	0m4.125s
user	0m0.342s
sys	0m0.097s&lt;/pre&gt;

&lt;p&gt;Spork&amp;#x306F;&amp;#x3068;&amp;#x3066;&amp;#x3082;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x74B0;&amp;#x5883;&amp;#x3067;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4E00;&amp;#x5EA6;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3073;&amp;#x306B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x306A;&amp;#x304A;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x4F55;&amp;#x56DE;&amp;#x3067;&amp;#x3082;&amp;#x597D;&amp;#x304D;&amp;#x306A;&amp;#x3060;&amp;#x3051;&amp;#x5B9F;&amp;#x884C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Spork&amp;#x3068;Guard&amp;#x306E;&amp;#x9023;&amp;#x643A;&lt;/h3&gt;

&lt;p&gt;Guard&amp;#x306F;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x4FEE;&amp;#x6B63;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x305F;&amp;#x3073;&amp;#x306B;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x81EA;&amp;#x52D5;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x308B;gem&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;264[&lt;a href="http://railscasts.com/episodes/264-guard"&gt;&amp;#x52D5;&amp;#x753B;&amp;#x3092;&amp;#x898B;&amp;#x308B;&lt;/a&gt;, &lt;a href="http://asciicasts.com/episodes/264-guard"&gt;&amp;#x8AAD;&amp;#x3080;&lt;/a&gt;]&amp;#x3067;&amp;#x305D;&amp;#x306E;&amp;#x8A73;&amp;#x7D30;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x305D;&amp;#x306E;Guard&amp;#x3092;&lt;code&gt;&lt;a href="https://github.com/guard/guard-spork"&gt;guard-spork&lt;/a&gt;&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;gem&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;Spork&amp;#x3068;&amp;#x9023;&amp;#x643A;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;gem&amp;#x306F;Spork&amp;#x306E;&amp;#x3068;&amp;#x304D;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306E;&lt;code&gt;test&lt;/code&gt;&amp;#x30B0;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x306B;gem&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&lt;code&gt;bundle&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;gem &amp;quot;rspec-rails&amp;quot;, :group =&amp;gt; [:test, :development]
group :test do
  gem &amp;quot;factory_girl_rails&amp;quot;
  gem &amp;quot;capybara&amp;quot;
  gem &amp;quot;guard-rspec&amp;quot;
  gem &amp;quot;spork&amp;quot;, &amp;quot;&amp;gt; 0.9.0.rc&amp;quot;
  gem &amp;quot;guard-spork&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;gem&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3089;&amp;#x3001;&lt;code&gt;guard init spork&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&lt;code&gt;Guardfile&lt;/code&gt;&amp;#x306B;Spork&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Guardfile&lt;/code&gt;&amp;#x306E;&amp;#x4E2D;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;RSpec&amp;#x30BB;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;Spork&amp;#x30BB;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Guardfile&lt;/p&gt;
&lt;pre class="ruby"&gt;guard &amp;#x27;spork&amp;#x27;, :cucumber_env =&amp;gt; { &amp;#x27;RAILS_ENV&amp;#x27; =&amp;gt; &amp;#x27;test&amp;#x27; }, :rspec_env =&amp;gt; { &amp;#x27;RAILS_ENV&amp;#x27; =&amp;gt; &amp;#x27;test&amp;#x27; } do
  watch(&amp;#x27;config/application.rb&amp;#x27;)
  watch(&amp;#x27;config/environment.rb&amp;#x27;)
  watch(%r{^config/environments/.+\.rb$})
  watch(%r{^config/initializers/.+\.rb$})
  watch(&amp;#x27;spec/spec_helper.rb&amp;#x27;)
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x306F;&amp;#x4ED6;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x95A2;&amp;#x9023;&amp;#x306E;guard&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x5148;&amp;#x306B;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x306A;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30BB;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;RSpec&amp;#x30BB;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x4E0A;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3055;&amp;#x3089;&amp;#x306B;RSpec &lt;code&gt;guard&lt;/code&gt;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&lt;code&gt;:cli&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x5024;&amp;#x3068;&amp;#x3057;&amp;#x3066;&lt;code&gt;--drb&lt;/code&gt;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;spec&amp;#x304C;Spork&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x3001;&amp;#x4ED6;&amp;#x306E;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;Cucumber&amp;#x7528;&amp;#x306E;guard&amp;#x306B;&amp;#x3082;&amp;#x9069;&amp;#x7528;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;guard &amp;#x27;rspec&amp;#x27;, :version =&amp;gt; 2, :cli =&amp;gt; &amp;#x27;--drb&amp;#x27; do
  # Content omitted.
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;Spork&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x624B;&amp;#x52D5;&amp;#x3067;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;Guard&amp;#x3092;&amp;#x958B;&amp;#x59CB;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;Spork&amp;#x304C;&amp;#x30D0;&amp;#x30C3;&amp;#x30AF;&amp;#x30B0;&amp;#x30E9;&amp;#x30A6;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;Ruby&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x5909;&amp;#x66F4;&amp;#x304C;&amp;#x52A0;&amp;#x3048;&amp;#x3089;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ guard
Please install rb-fsevent gem for Mac OSX FSEvents support
Using polling (Please help us to support your system better than that.)
Please install growl_notify or growl gem for Mac OS X notification support and add it to your Gemfile
Guard is now watching at &amp;#x27;/Users/eifion/auth&amp;#x27;
Starting Spork for RSpec 
Using RSpec
Preloading Rails environment
Loading Spork.prefork block...
Spork is ready and listening on 8989!
Spork server for RSpec successfully started
Guard::RSpec is running, with RSpec 2!
Running all specs
Running tests with args [&amp;quot;--color&amp;quot;, &amp;quot;--format&amp;quot;, &amp;quot;progress&amp;quot;, &amp;quot;--format&amp;quot;, &amp;quot;Guard::RSpec::Formatter::NotificationRSpec&amp;quot;, &amp;quot;--out&amp;quot;, &amp;quot;/dev/null&amp;quot;, &amp;quot;--require&amp;quot;, &amp;quot;/Users/eifion/.rvm/gems/ruby-1.9.2-p180@rails31/gems/guard-rspec-0.4.5/lib/guard/rspec/formatters/notification_rspec.rb&amp;quot;, &amp;quot;spec&amp;quot;]...
.........

Finished in 4.29 seconds
9 examples, 0 failures
Done.&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306F;Spork&amp;#x3092;&amp;#x5225;&amp;#x3067;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x7C21;&amp;#x5358;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304B;spec&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x3066;&amp;#x4FDD;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x95A2;&amp;#x9023;&amp;#x306E;spec&amp;#x304C;1&amp;#x301C;2&amp;#x79D2;&amp;#x5F8C;&amp;#x306B;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Spork&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&lt;/h3&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;Spork&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x3001;Spork&amp;#x304C;&amp;#x5909;&amp;#x66F4;&amp;#x3092;&amp;#x691C;&amp;#x77E5;&amp;#x305B;&amp;#x305A;&amp;#x624B;&amp;#x52D5;&amp;#x3067;&amp;#x518D;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x539F;&amp;#x56E0;&amp;#x306F;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&lt;code&gt;prefork&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x3001;&lt;code&gt;each_run&lt;/code&gt;&amp;#x3067;&amp;#x306F;&amp;#x518D;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x3055;&amp;#x308C;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;Factory Girl&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x767A;&amp;#x751F;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306F;&lt;code&gt;prefork&lt;/code&gt;&amp;#x3067;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x304C;&amp;#x518D;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x306E;&amp;#x5909;&amp;#x66F4;&amp;#x306F;&amp;#x691C;&amp;#x77E5;&amp;#x3055;&amp;#x308C;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x5909;&amp;#x66F4;&amp;#x304C;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;&amp;#x691C;&amp;#x77E5;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;&lt;code&gt;each_run&lt;/code&gt;&amp;#x3067;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x518D;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;Factory Girl&amp;#x306E;&amp;#x6700;&amp;#x65B0;&amp;#x7248;&amp;#x306B;&amp;#x306F;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x884C;&amp;#x3046;reload&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/spec/spec_helper.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;Spork.each_run do
  FactoryGirl.reload
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x884C;&amp;#x3063;&amp;#x305F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x5909;&amp;#x66F4;&amp;#x306F;&amp;#x3001;&amp;#x6B21;&amp;#x56DE;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x5B9F;&amp;#x884C;&amp;#x6642;&amp;#x306B;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;&amp;#x691C;&amp;#x77E5;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x554F;&amp;#x984C;&amp;#x304C;&lt;code&gt;/spec/support&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x5185;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3067;&amp;#x3082;&amp;#x8D77;&amp;#x3053;&amp;#x308B;&amp;#x53EF;&amp;#x80FD;&amp;#x6027;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3082;&lt;code&gt;prefork&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5909;&amp;#x66F4;&amp;#x3092;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x691C;&amp;#x77E5;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&lt;code&gt;each_run&lt;/code&gt;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x79FB;&amp;#x52D5;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x5206;&amp;#x3060;&amp;#x3051;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x524D;&amp;#x306E;&amp;#x9045;&amp;#x308C;&amp;#x306E;&amp;#x6642;&amp;#x9593;&amp;#x304C;&amp;#x9577;&amp;#x304F;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&lt;code&gt;preload&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x7F6E;&amp;#x3044;&amp;#x305F;&amp;#x307E;&amp;#x307E;&amp;#x3067;&amp;#x3001;&lt;code&gt;/spec/support&lt;/code&gt;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x5909;&amp;#x66F4;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x305F;&amp;#x3073;&amp;#x306B;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;Spork&amp;#x304C;&amp;#x518D;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3067;&amp;#x304D;&amp;#x308C;&amp;#x3070;&amp;#x305D;&amp;#x306E;&amp;#x65B9;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&lt;code&gt;guard-spork&lt;/code&gt;&amp;#x304C;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Guardfile&lt;/code&gt;&amp;#x306E;&lt;code&gt;spork&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306B;&amp;#x306F;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x540D;&amp;#x306E;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x76E3;&amp;#x8996;&amp;#x3059;&amp;#x308B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D1;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x306B;&amp;#x30DE;&amp;#x30C3;&amp;#x30C1;&amp;#x3059;&amp;#x308B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x3044;&amp;#x305A;&amp;#x308C;&amp;#x304B;&amp;#x304C;&amp;#x5909;&amp;#x66F4;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;Spork&amp;#x304C;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x76F4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x306B;&lt;code&gt;spec/support&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Guardfile&lt;/p&gt;
&lt;pre class="ruby"&gt;guard &amp;#x27;spork&amp;#x27;, :cucumber_env =&amp;gt; { &amp;#x27;RAILS_ENV&amp;#x27; =&amp;gt; &amp;crarr;
  &amp;#x27;test&amp;#x27; }, :rspec_env =&amp;gt; { &amp;#x27;RAILS_ENV&amp;#x27; =&amp;gt; &amp;#x27;test&amp;#x27; } do
  watch(&amp;#x27;config/application.rb&amp;#x27;)
  watch(&amp;#x27;config/environment.rb&amp;#x27;)
  watch(%r{^config/environments/.+\.rb$})
  watch(%r{^config/initializers/.+\.rb$})
  watch(&amp;#x27;spec/spec_helper.rb&amp;#x27;)
  watch(%r{^spec/support/.+\.rb$})
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&lt;code&gt;spec/support&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x5185;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3078;&amp;#x306E;&amp;#x5909;&amp;#x66F4;&amp;#x304C;Guard&amp;#x306B;&amp;#x691C;&amp;#x77E5;&amp;#x3055;&amp;#x308C;&amp;#x3066;Spork&amp;#x304C;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x76F4;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Guardfile&lt;/code&gt;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3064;&amp;#x3044;&amp;#x3067;&amp;#x306B;&amp;#x3001;&amp;#x901F;&amp;#x5EA6;&amp;#x306E;&amp;#x9045;&amp;#x3044;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x306B;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&amp;#x30C1;&amp;#x30C3;&amp;#x30D7;&amp;#x3092;&amp;#x4E00;&amp;#x3064;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5B9F;&amp;#x884C;&amp;#x6642;&amp;#x9593;&amp;#x304C;1&amp;#x5206;&amp;#x4EE5;&amp;#x4E0A;&amp;#x304B;&amp;#x304B;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x306F;&amp;#x3042;&amp;#x307E;&amp;#x308A;&amp;#x4F55;&amp;#x5EA6;&amp;#x3082;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x305F;&amp;#x304F;&amp;#x306A;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x5834;&amp;#x5408;&amp;#x306B;&lt;code&gt;rspec guard&lt;/code&gt;&amp;#x306B;&amp;#x6E21;&amp;#x3059;&amp;#x3001;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3064;2&amp;#x3064;&amp;#x306E;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;all_on_start&lt;/code&gt;&amp;#x3068;&lt;code&gt;all_over_pass&lt;/code&gt;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x4E21;&amp;#x65B9;&amp;#x3092;&lt;code&gt;false&lt;/code&gt;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Guardfile&lt;/p&gt;
&lt;pre class="ruby"&gt;guard &amp;#x27;rspec&amp;#x27;, :version =&amp;gt; 2, :cli =&amp;gt; &amp;#x27;--drb&amp;#x27;, &amp;crarr;
  :all_on_start =&amp;gt; false, :all_after_pass =&amp;gt; false do
  
# watch commands omitted.
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x3001;Guard&amp;#x306F;&amp;#x524D;&amp;#x56DE;&amp;#x5931;&amp;#x6557;&amp;#x3057;&amp;#x305F;spec&amp;#x304C;&amp;#x6210;&amp;#x529F;&amp;#x3057;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;spec&amp;#x3092;&amp;#x518D;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;spec&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306E;&amp;#x6319;&amp;#x52D5;&amp;#x3092;&amp;#x7D30;&amp;#x304B;&amp;#x304F;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;Guard&amp;#x30BF;&amp;#x30FC;&amp;#x30DF;&amp;#x30CA;&amp;#x30EB;(Guard&amp;#x306E;&amp;#x6700;&amp;#x65B0;&amp;#x7248;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;)&amp;#x3067;&amp;#x30EA;&amp;#x30BF;&amp;#x30FC;&amp;#x30F3;&amp;#x30AD;&amp;#x30FC;&amp;#x3092;&amp;#x62BC;&amp;#x3059;&amp;#x3068;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;spec&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3046;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306E;&amp;#x30C1;&amp;#x30C3;&amp;#x30D7;&amp;#x306F;&amp;#x3001;Spork&amp;#x3068;&amp;#x306F;&amp;#x76F4;&amp;#x63A5;&amp;#x95A2;&amp;#x9023;&amp;#x3057;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x5927;&amp;#x304D;&amp;#x306A;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x6271;&amp;#x3046;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x3059;&amp;#x3002;RSpec&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306B;3&amp;#x884C;(&amp;#x4EE5;&amp;#x4E0B;&amp;#x306B;&amp;#x793A;&amp;#x3059;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306E;&amp;#x6700;&amp;#x5F8C;&amp;#x306E;3&amp;#x884C;)&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/spec/spec_helper.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;RSpec.configure do |config|
  config.mock_with :rspec
  config.use_transactional_fixtures = true
  config.include(MailerMacros)
  config.before(:each) { reset_email }
    
  config.treat_symbols_as_metadata_keys_with_true_values = true
  config.filter_run :focus =&amp;gt; true
  config.run_all_when_everything_filtered = true
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3001;&amp;#x3042;&amp;#x308B;spec&amp;#x306B;&lt;code&gt;:focus&lt;/code&gt;&amp;#x30BF;&amp;#x30B0;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;spec&amp;#x3060;&amp;#x3051;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3092;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3059;&amp;#x308B;spec&amp;#x306B;&lt;code&gt;:focus&lt;/code&gt;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/spec/models/user_spec.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;require &amp;#x27;spec_helper&amp;#x27;

describe User do
  describe &amp;quot;#send_password_reset&amp;quot; do
    let(:user) { Factory(:user) }

    it &amp;quot;generates a unique password_reset_token each time&amp;quot;, &amp;crarr;
      :focus do
      user.send_password_reset
      last_token = user.password_reset_token
      user.send_password_reset
      user.password_reset_token.should_not eq(last_token)
    end

	# Other specs omitted.
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x4E0A;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FDD;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;Guard&amp;#x306F;&amp;#x5909;&amp;#x66F4;&amp;#x3092;&amp;#x691C;&amp;#x77E5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&lt;code&gt;:focus&lt;/code&gt;&amp;#x30BF;&amp;#x30B0;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x305D;&amp;#x306E;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306E;spec&amp;#x3060;&amp;#x3051;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;Running: spec/models/user_spec.rb
Running tests with args ...
Run filtered including {:focus=&amp;gt;true}
.

Finished in 1.93 seconds
1 example, 0 failures
Done.&lt;/pre&gt;

&lt;p&gt;&amp;#x610F;&amp;#x56F3;&amp;#x306B;&amp;#x53CD;&amp;#x3057;&amp;#x3066;Spork&amp;#x306E;&lt;code&gt;prefork&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&amp;#x4E00;&amp;#x90E8;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&lt;code&gt;each_run&lt;/code&gt;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306F;&amp;#x7C21;&amp;#x5358;&amp;#x3067;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x30B1;&amp;#x30FC;&amp;#x30B9;&amp;#x306B;&amp;#x5BFE;&amp;#x51E6;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;Spork&amp;#x306F;&lt;code&gt;trap_method&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&amp;#x30C8;&amp;#x30E9;&amp;#x30C3;&amp;#x30D7;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3059;&amp;#x3050;&amp;#x306B;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x3001;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x304C;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30AF;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x5F8C;&amp;#x306B;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;Mongoid&amp;#x3084;Devise&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306A;&amp;#x3069;&amp;#x306B;&amp;#x6709;&amp;#x52B9;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3069;&amp;#x3061;&amp;#x3089;&amp;#x3082;&amp;#x3001;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x307B;&amp;#x3057;&amp;#x304F;&amp;#x306A;&amp;#x3044;prefork&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306E;&amp;#x4E2D;&amp;#x8EAB;&amp;#x3092;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&lt;a href="https://github.com/timcharper/spork/wiki/Spork.trap_method-Jujutsu"&gt;Spork&amp;#x306E;wiki&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&lt;/a&gt;&amp;#x3067;&amp;#x3088;&amp;#x308A;&amp;#x8A73;&amp;#x3057;&amp;#x304F;&amp;#x8AAC;&amp;#x660E;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Spork&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;Spork&amp;#x306F;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x99C6;&amp;#x52D5;&amp;#x958B;&amp;#x767A;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x52A0;&amp;#x901F;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3001;&amp;#x4E0A;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x305F;&amp;#x30C1;&amp;#x30C3;&amp;#x30D7;&amp;#x30B9;&amp;#x3068;&amp;#x7D44;&amp;#x307F;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x5927;&amp;#x898F;&amp;#x6A21;&amp;#x306A;Rails&amp;#x30D7;&amp;#x30ED;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306B;&amp;#x3082;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 16 Oct 2011 22:24:20 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/285-spork</guid>
      <link>http://ja.asciicasts.com/episodes/285-spork</link>
    </item>
    <item>
      <title>Active Admin</title>
      <description>&lt;p&gt;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&lt;a href="http://activeadmin.info"&gt;Active Admin&lt;/a&gt;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;gem&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3068;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;&amp;#x3092;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x898B;&amp;#x6804;&amp;#x3048;&amp;#x306E;&amp;#x3059;&amp;#x308B;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x81EA;&amp;#x7531;&amp;#x306B;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;a href="http://demo.activeadmin.info/admin"&gt;&amp;#x30E9;&amp;#x30A4;&amp;#x30D6;&amp;#x30C7;&amp;#x30E2;&lt;/a&gt;&amp;#x3067;&amp;#x5B9F;&amp;#x969B;&amp;#x306B;&amp;#x52D5;&amp;#x4F5C;&amp;#x3059;&amp;#x308B;&amp;#x69D8;&amp;#x5B50;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x65E2;&amp;#x5B58;&amp;#x306E;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;Active Admin&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x7C21;&amp;#x5358;&amp;#x306A;E&amp;#x30B3;&amp;#x30DE;&amp;#x30FC;&amp;#x30B9;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x3067;&amp;#x3001;&amp;#x8907;&amp;#x6570;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x304C;&amp;#x4FA1;&amp;#x683C;&amp;#x3092;&amp;#x6301;&amp;#x3061;&amp;#x30AB;&amp;#x30C6;&amp;#x30B4;&amp;#x30EA;&amp;#x306B;&amp;#x5C5E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Active Admin&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3066;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/735/original/E284I01.png" width="799" height="460" alt="&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;"/&gt;
&lt;/div&gt;

&lt;h3&gt;Active Admin&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;Active Admin&amp;#x306F;gem&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x914D;&amp;#x5E03;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;&amp;#x53C2;&amp;#x7167;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&lt;code&gt;bundle&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;Rails 3.1&amp;#x3067;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3001;Active Admin&amp;#x304C;&amp;#x4F9D;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&lt;code&gt;sass-rails&lt;/code&gt; gem&amp;#x3082;&amp;#x5FD8;&amp;#x308C;&amp;#x305A;&amp;#x306B;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Rails 3.0&amp;#x306E;&amp;#x74B0;&amp;#x5883;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x306F;&amp;#x5B58;&amp;#x5728;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x305F;&amp;#x3081;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;gem &amp;#x27;activeadmin&amp;#x27;&lt;/pre&gt;

&lt;p&gt;Bundler&amp;#x304C;&amp;#x7D42;&amp;#x4E86;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x30B8;&amp;#x30A7;&amp;#x30CD;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;Active Admin&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30B8;&amp;#x30A7;&amp;#x30CD;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF;&amp;#x304C;&amp;#x3001;&amp;#x5B9F;&amp;#x884C;&amp;#x5F8C;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x884C;&amp;#x306A;&amp;#x308F;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x8A2D;&amp;#x5B9A;&amp;#x4F5C;&amp;#x696D;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x6307;&amp;#x793A;&amp;#x3092;&amp;#x4E0E;&amp;#x3048;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x958B;&amp;#x767A;&amp;#x74B0;&amp;#x5883;&amp;#x306E;Mailer&amp;#x8A2D;&amp;#x5B9A;&amp;#x3067;&amp;#x30DB;&amp;#x30B9;&amp;#x30C8;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&amp;#x3001;root URL&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3068;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30EC;&amp;#x30A4;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3067;&lt;code&gt;notice&lt;/code&gt;&amp;#x3068;&lt;code&gt;alert&lt;/code&gt;&amp;#x306E;&amp;#x30D5;&amp;#x30E9;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30E1;&amp;#x30C3;&amp;#x30BB;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x5FD8;&amp;#x308C;&amp;#x306A;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g active_admin:install
      invoke  devise
    generate    devise:install
      create    config/initializers/devise.rb
      create    config/locales/devise.en.yml
  
==================================================================

Some setup you must do manually if you haven&amp;#x27;t yet:

  1. Setup default url options for your specific environment. Here is an example of development environment:

       config.action_mailer.default_url_options = { :host =&amp;gt; &amp;#x27;localhost:3000&amp;#x27; }

     This is a required Rails configuration. In production it must be the actual host of your application

  2. Ensure you have defined root_url to *something* in your config/routes.rb.
     For example:

       root :to =&amp;gt; &amp;quot;home#index&amp;quot;

  3. Ensure you have flash messages in app/views/layouts/application.html.erb. For example:

       &amp;lt;p class=&amp;quot;notice&amp;quot;&amp;gt;&amp;lt;%= notice %&amp;gt;&amp;lt;/p&amp;gt;
       &amp;lt;p class=&amp;quot;alert&amp;quot;&amp;gt;&amp;lt;%= alert %&amp;gt;&amp;lt;/p&amp;gt;&lt;/pre&gt;
       
&lt;p&gt;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x6B21;&amp;#x306B;&amp;#x9032;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x304C;&amp;#x30DE;&amp;#x30A4;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rake db:migrate&lt;/pre&gt;

&lt;h3&gt;Active Admin&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://activeadmin.info/documentation.html"&gt;Active Admin&amp;#x306E;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C6;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&lt;/a&gt;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x6642;&amp;#x306B;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x65B0;&amp;#x898F;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x304C;&lt;code&gt;admin@example.com&lt;/code&gt;&amp;#x3001;&amp;#x30D1;&amp;#x30B9;&amp;#x30EF;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&lt;code&gt;password&lt;/code&gt;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x8A8D;&amp;#x8A3C;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;(&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x3068;&amp;#x30D1;&amp;#x30B9;&amp;#x30EF;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3057;&amp;#x305F;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x30DE;&amp;#x30A4;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x5B9F;&amp;#x884C;&amp;#x524D;&amp;#x306B;&lt;code&gt;devise_create_admin_users.rb&lt;/code&gt;&amp;#x3092;&amp;#x7DE8;&amp;#x96C6;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;) Rails&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x3066;&lt;a href="http://localhost:3000/admin"&gt;http://localhost:3000/admin&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30B9;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5148;&amp;#x307B;&amp;#x3069;&amp;#x306E;&amp;#x8A8D;&amp;#x8A3C;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/736/original/E284I02.png" width="799" height="458" alt="Active Admin&amp;#x306E;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x753B;&amp;#x9762;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3059;&amp;#x308B;&amp;#x3068;Active Admin&amp;#x306E;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x307E;&amp;#x3060;&amp;#x3042;&amp;#x307E;&amp;#x308A;&amp;#x898B;&amp;#x308B;&amp;#x3079;&amp;#x304D;&amp;#x3082;&amp;#x306E;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/737/original/E284I03.png" width="799" height="458" alt="Active Admin&amp;#x306E;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&lt;code&gt;Product&lt;/code&gt;&amp;#x30EA;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x3092;Active Admin&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g active_admin:resource product
      create  app/admin/products.rb&lt;/pre&gt;
      
&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B8;&amp;#x30A7;&amp;#x30CD;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF;&amp;#x304C;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&lt;code&gt;app/admin&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;&lt;code&gt;products.rb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x76F4;&amp;#x3059;&amp;#x3068;Products&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306B;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x3082;&amp;#x306E;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x5165;&amp;#x3063;&amp;#x305F;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x304C;&amp;#x73FE;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/738/original/E284I04.png" width="802" height="474" alt="&amp;#x5546;&amp;#x54C1;&amp;#x30AB;&amp;#x30BF;&amp;#x30ED;&amp;#x30B0;&amp;#x306E;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306F;&amp;#x3001;&amp;#x5C5E;&amp;#x6027;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x4E26;&amp;#x3079;&amp;#x66FF;&amp;#x3048;&amp;#x305F;&amp;#x308A;&amp;#x7D5E;&amp;#x308A;&amp;#x8FBC;&amp;#x3080;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3055;&amp;#x3089;&amp;#x306B;Active Admin&amp;#x306F;&lt;code&gt;Category&lt;/code&gt;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&lt;code&gt;belongs_to&lt;/code&gt;&amp;#x306E;&amp;#x95A2;&amp;#x4FC2;&amp;#x304C;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x691C;&amp;#x77E5;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x30AB;&amp;#x30C6;&amp;#x30B4;&amp;#x30EA;&amp;#x3067;&amp;#x7D5E;&amp;#x308A;&amp;#x8FBC;&amp;#x3080;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30C9;&amp;#x30ED;&amp;#x30C3;&amp;#x30D7;&amp;#x30C0;&amp;#x30A6;&amp;#x30F3;&amp;#x30E1;&amp;#x30CB;&amp;#x30E5;&amp;#x30FC;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x3082;&amp;#x6A5F;&amp;#x80FD;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x306E;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x578B;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30AB;&amp;#x30C6;&amp;#x30B4;&amp;#x30EA;&amp;#x306F;&amp;#x30C9;&amp;#x30ED;&amp;#x30C3;&amp;#x30D7;&amp;#x30C0;&amp;#x30A6;&amp;#x30F3;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x306F;&amp;#x5165;&amp;#x529B;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;
 
&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/739/original/E284I05.png" width="802" height="474" alt="&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x5546;&amp;#x54C1;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306F;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x6700;&amp;#x521D;&amp;#x306B;&amp;#x5546;&amp;#x54C1;&amp;#x30AB;&amp;#x30BF;&amp;#x30ED;&amp;#x30B0;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x5217;&amp;#x6570;&amp;#x3092;&amp;#x6E1B;&amp;#x3089;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x751F;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x305F;&lt;code&gt;/app/admin/products.rb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;index&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x30AA;&amp;#x30FC;&amp;#x30D0;&amp;#x30FC;&amp;#x30E9;&amp;#x30A4;&amp;#x30C9;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30AB;&amp;#x30BF;&amp;#x30ED;&amp;#x30B0;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x3067;&lt;code&gt;column&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x5217;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/products.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.register Product do
  index do
    column :name
    column :category
    column :released_at
    column :price
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x5546;&amp;#x54C1;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x5E0C;&amp;#x671B;&amp;#x3059;&amp;#x308B;&amp;#x5217;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/740/original/E284I06.png" width="802" height="474" alt="&amp;#x5546;&amp;#x54C1;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3057;&amp;#x3001;&amp;#x9078;&amp;#x629E;&amp;#x3057;&amp;#x305F;&amp;#x5217;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&lt;code&gt;Category&lt;/code&gt;&amp;#x3068;&amp;#x306E;&amp;#x95A2;&amp;#x9023;&amp;#x304C;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;&amp;#x691C;&amp;#x77E5;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x306B;&amp;#x6B63;&amp;#x3057;&amp;#x3044;&amp;#x30AB;&amp;#x30C6;&amp;#x30B4;&amp;#x30EA;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3092;&amp;#x3055;&amp;#x3089;&amp;#x306B;&amp;#x9032;&amp;#x3081;&amp;#x3066;&amp;#x3001;column&amp;#x306E;1&amp;#x3064;&amp;#x76EE;&amp;#x306E;&amp;#x5F15;&amp;#x6570;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x3066;&amp;#x5217;&amp;#x306E;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x3001;&lt;code&gt;released_at&lt;/code&gt;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/products.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.register Product do
  index do
    column :name
    column :category
    column &amp;quot;Release Date&amp;quot;, :released_at
    column :price
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x5217;&amp;#x306E;&amp;#x5024;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&lt;code&gt;column&lt;/code&gt;&amp;#x306B;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4FA1;&amp;#x683C;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x4ECA;&amp;#x306E;&amp;#x307E;&amp;#x307E;&amp;#x3067;&amp;#x306F;&amp;#x901A;&amp;#x8CA8;&amp;#x8A18;&amp;#x53F7;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;column&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x3068;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;(&amp;#x3053;&amp;#x306E;&amp;#x4F8B;&amp;#x3067;&amp;#x306F;&lt;code&gt;Product&lt;/code&gt;)&amp;#x304C;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306B;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3057;&amp;#x3066;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x304B;&amp;#x3089;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x5024;&amp;#x304C;&amp;#x305D;&amp;#x306E;&amp;#x5217;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;number_to_currency&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x4FA1;&amp;#x683C;&amp;#x3092;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x8868;&amp;#x793A;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/products.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.register Product do
  index do
    column :name
    column :category
    column &amp;quot;Release Date&amp;quot;, :released_at
    column :price do |product|
      number_to_currency product.price, :unit =&amp;gt; &amp;quot;&amp;amp;pound;&amp;quot;
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x304C;&amp;#x300C;&amp;#x767A;&amp;#x58F2;&amp;#x65E5;(Release Date)&amp;#x300D;&amp;#x306B;&amp;#x5909;&amp;#x308F;&amp;#x308A;&amp;#x3001;&amp;#x5546;&amp;#x54C1;&amp;#x306E;&amp;#x4FA1;&amp;#x683C;&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x3044;&amp;#x901A;&amp;#x8CA8;&amp;#x306E;&amp;#x8868;&amp;#x8A18;&amp;#x3067;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/741/original/E284I07.png" width="802" height="474" alt="&amp;#x4FA1;&amp;#x683C;&amp;#x306E;&amp;#x5217;&amp;#x304C;&amp;#x901A;&amp;#x8CA8;&amp;#x306E;&amp;#x5024;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x4FA1;&amp;#x683C;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x304B;&amp;#x3089;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x5024;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306F;&amp;#x4E26;&amp;#x3079;&amp;#x66FF;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x307E;&amp;#x305F;&amp;#x5404;&amp;#x9805;&amp;#x76EE;&amp;#x306E;&amp;#x7DE8;&amp;#x96C6;&amp;#x3068;&amp;#x524A;&amp;#x9664;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3082;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x5024;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x5E38;&amp;#x306B;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x3066;&lt;code&gt;:sortable&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;Active Admin&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x4E26;&amp;#x3073;&amp;#x66FF;&amp;#x3048;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x4FEE;&amp;#x6B63;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x3001;&amp;#x52A0;&amp;#x3048;&amp;#x3066;&lt;code&gt;default_actions&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x7DE8;&amp;#x96C6;&amp;#x3068;&amp;#x524A;&amp;#x9664;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x5143;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/products.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.register Product do
  index do
    column :name
    column :category
    column &amp;quot;Release Date&amp;quot;, :released_at
    column :price, :sortable =&amp;gt; :price do |product|
      number_to_currency product.price, :unit =&amp;gt; &amp;quot;&amp;amp;pound;&amp;quot;
    end
    default_actions
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x4FA1;&amp;#x683C;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x901A;&amp;#x8CA8;&amp;#x8A18;&amp;#x53F7;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x304C;&amp;#x3001;&amp;#x53F3;&amp;#x5BC4;&amp;#x305B;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3089;&amp;#x3088;&amp;#x308A;&amp;#x898B;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;CSS&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x5BFE;&amp;#x5FDC;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x307E;&amp;#x305A;&amp;#x5217;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3067;&amp;#x3059;&amp;#x3002;Active Admin&amp;#x306F;&lt;a href="http://markaby.github.com/"&gt;Markaby&lt;/a&gt;&amp;#x306B;&amp;#x3088;&amp;#x304F;&amp;#x4F3C;&amp;#x305F;HTML&amp;#x751F;&amp;#x6210;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x4F5C;&amp;#x696D;&amp;#x306F;&amp;#x3001;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x30BF;&amp;#x30B0;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;code&gt;:class&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4E00;&amp;#x7DD2;&amp;#x306B;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&amp;#x3001;CSS&amp;#x304B;&amp;#x3089;&amp;#x53C2;&amp;#x7167;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/products.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.register Product do
  index do
    column :name
    column :category
    column &amp;quot;Release Date&amp;quot;, :released_at
    column :price, :sortable =&amp;gt; :price do |product|
      div :class =&amp;gt; &amp;quot;price&amp;quot; do
        number_to_currency product.price, :unit =&amp;gt; &amp;quot;&amp;amp;pound;&amp;quot;
      end
    end
    default_actions
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&lt;code&gt;active_admin.css.scss&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3053;&amp;#x306E;&amp;#x5217;&amp;#x306E;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x5909;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/stylesheets/active_admin.css.scss&lt;/p&gt;
&lt;pre class="css"&gt;// Active Admin CSS Styles
@import &amp;quot;active_admin/mixins&amp;quot;;
@import &amp;quot;active_admin/base&amp;quot;;

// To customize the Active Admin interfaces, add your
// styles here:
.price {
  text-align :right;
}&lt;/pre&gt;

&lt;p&gt;&amp;#x4FA1;&amp;#x683C;&amp;#x306E;&amp;#x5217;&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x53F3;&amp;#x5BC4;&amp;#x305B;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/742/original/E284I08.png" width="802" height="472" alt="&amp;#x4FA1;&amp;#x683C;&amp;#x306E;&amp;#x5217;&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x53F3;&amp;#x5BC4;&amp;#x305B;&amp;#x3055;&amp;#x308C;&amp;#x305F;"/&gt;
&lt;/div&gt;

&lt;h3&gt;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&lt;/h3&gt;

&lt;p&gt;Active Admin&amp;#x306E;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x306E;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x6A5F;&amp;#x80FD;&amp;#x304C;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3042;&amp;#x3089;&amp;#x304B;&amp;#x3058;&amp;#x3081;&amp;#x7528;&amp;#x610F;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x52D5;&amp;#x4F5C;&amp;#x3057;&amp;#x3001;2&amp;#x6BB5;&amp;#x968E;&amp;#x306E;&amp;#x4F5C;&amp;#x696D;&amp;#x3067;&amp;#x4F5C;&amp;#x6210;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;products&amp;#x306E;Active Admin&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3067;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x306E;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3001;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/products.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.register Product do
  scope :unreleased
  index do
    column :name
    column :category
    column &amp;quot;Release Date&amp;quot;, :released_at
    column :price, :sortable =&amp;gt; :price do |product|
      div :class =&amp;gt; &amp;quot;price&amp;quot; do
        number_to_currency product.price, :unit =&amp;gt; &amp;quot;&amp;amp;pound;&amp;quot;
      end
    end
    default_actions
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;&lt;code&gt;Product&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x305D;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x3092;&amp;#x8A18;&amp;#x8FF0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/product.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Product &amp;lt; ActiveRecord::Base
  belongs_to :category
  scope :unreleased, where(:released_at =&amp;gt; nil)
end&lt;/pre&gt;

&lt;p&gt;&amp;#x5546;&amp;#x54C1;&amp;#x306E;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x3067;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x304C;&amp;#x304B;&amp;#x3051;&amp;#x3089;&amp;#x308C;&amp;#x305F;&amp;#x5546;&amp;#x54C1;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/743/original/E284I09.png" width="802" height="472" alt="unreleased(&amp;#x672A;&amp;#x767A;&amp;#x58F2;)&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x3067;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x304C;&amp;#x304B;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x5546;&amp;#x54C1;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;"/&gt;
&lt;/div&gt;

&lt;h3&gt;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x7A7A;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x6700;&amp;#x8FD1;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&lt;code&gt;/app/admin/dashboards.rb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x7DE8;&amp;#x96C6;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x306B;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3064;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x3044;&amp;#x308D;&amp;#x3044;&amp;#x308D;&amp;#x306A;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x65B9;&amp;#x6CD5;&amp;#x304C;&amp;#x8AAC;&amp;#x660E;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x30BB;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x306B;&amp;#x306F;section&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x8868;&amp;#x306B;&amp;#x6700;&amp;#x8FD1;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&lt;code&gt;table_for&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&amp;#x3001;&amp;#x5546;&amp;#x54C1;&amp;#x30AB;&amp;#x30BF;&amp;#x30ED;&amp;#x30B0;&amp;#x306E;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x3001;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5217;&amp;#x3092;&lt;code&gt;column&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3078;&amp;#x623B;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3082;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/dashboards.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin::Dashboards.build do
  section &amp;quot;Recent Products&amp;quot; do
    table_for Product.order(&amp;quot;released_at desc&amp;quot;).limit(5) do
      column :name
      column :released_at
    end
    strong { link_to &amp;quot;View All Products&amp;quot;, admin_products_path }
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x76F4;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x6700;&amp;#x65B0;&amp;#x767A;&amp;#x58F2;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x5546;&amp;#x54C1;5&amp;#x4EF6;&amp;#x304C;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3068;&amp;#x4E00;&amp;#x7DD2;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/744/original/E284I10.png" width="802" height="472" alt="&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x6700;&amp;#x65B0;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x4E00;&amp;#x89A7;&amp;#x4E2D;&amp;#x306E;&amp;#x5404;&amp;#x5546;&amp;#x54C1;&amp;#x306B;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x306E;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x753B;&amp;#x9762;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x3042;&amp;#x308C;&amp;#x3070;&amp;#x3088;&amp;#x308A;&amp;#x4FBF;&amp;#x5229;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x4FA1;&amp;#x683C;&amp;#x306E;&amp;#x5217;&amp;#x3092;&amp;#x7DE8;&amp;#x96C6;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&lt;code&gt;column&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/admin/dashboards.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin::Dashboards.build do
  section &amp;quot;Recent Products&amp;quot; do
    table_for Product.order(&amp;quot;released_at desc&amp;quot;).limit(5) do
      column :name do |product|
        link_to product.title, admin_product_path(product)
      end
      column :released_at
    end
    strong { link_to &amp;quot;View All Products&amp;quot;, admin_products_path }
  end
end&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;link_to&lt;/code&gt;&amp;#x306B;&amp;#x306F;&amp;#x30D1;&amp;#x30B9;&amp;#x3092;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x308A;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&amp;#x65B9;&amp;#x6CD5;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;admin_product_path(product)&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x3001;&amp;#x914D;&amp;#x5217;&amp;#x3067;1&amp;#x500B;&amp;#x76EE;&amp;#x306E;&amp;#x8981;&amp;#x7D20;&amp;#x306B;&amp;#x30B7;&amp;#x30F3;&amp;#x30DC;&amp;#x30EB;&amp;#x3092;&amp;#x3001;2&amp;#x500B;&amp;#x76EE;&amp;#x306B;product&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;
  
&lt;pre class="ruby"&gt;link_to product.title, [:admin, product]&lt;/pre&gt;

&lt;p&gt;&amp;#x30C0;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30DC;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x5404;&amp;#x5546;&amp;#x54C1;&amp;#x306E;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x304C;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x306E;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x3092;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5546;&amp;#x54C1;&amp;#x306E;&amp;#x7BA1;&amp;#x7406;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x304C;&amp;#x958B;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;Active Admin&amp;#x3092;Rails 3.1&amp;#x306E;&amp;#x74B0;&amp;#x5883;&amp;#x3067;&amp;#x5229;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x6CE8;&amp;#x610F;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x554F;&amp;#x984C;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x623B;&amp;#x308B;&amp;#x3068;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

 &lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/745/original/E284I11.png" width="801" height="435" alt="&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306E;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x304A;&amp;#x304B;&amp;#x3057;&amp;#x3044;"/&gt;
&lt;/div&gt;

&lt;p&gt;Active Admin&amp;#x306E;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306E;&amp;#x4F53;&amp;#x88C1;&amp;#x304C;&amp;#x524D;&amp;#x3068;&amp;#x9055;&amp;#x3063;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;Rails 3.1&amp;#x3067;&amp;#x306F;&amp;#x3001; &lt;code&gt;application.css&lt;/code&gt;&amp;#x30DE;&amp;#x30CB;&amp;#x30D5;&amp;#x30A7;&amp;#x30B9;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&lt;code&gt;require_tree .&lt;/code&gt;&amp;#x306E;&amp;#x884C;&amp;#x306E;&amp;#x5F71;&amp;#x97FF;&amp;#x3067;&amp;#x3001;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x5E0C;&amp;#x671B;&amp;#x3059;&amp;#x308B;&amp;#x5F62;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x3088;&amp;#x308A;&amp;#x7D30;&amp;#x304B;&amp;#x304F;&amp;#x5236;&amp;#x5FA1;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&amp;#x3068;&amp;#x308A;&amp;#x3042;&amp;#x3048;&amp;#x305A;&amp;#x3053;&amp;#x306E;&amp;#x884C;&amp;#x3092;&amp;#x524A;&amp;#x9664;&amp;#x3057;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3046;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x306E;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;require_tree .&lt;/code&gt;&amp;#x3092;require products&amp;#x306B;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/stylesheets/application.css&lt;/p&gt;
&lt;pre class="css"&gt;/*
 * This is a manifest file that&amp;#x27;ll automatically include all the stylesheets available in this directory
 * and any sub-directories. You&amp;#x27;re free to add application-wide styles to this file and they&amp;#x27;ll appear at
 * the top of the compiled file, but it&amp;#x27;s generally better to create a new file per style scope.
 *= require_self
 *= require products 
*/

/* Rest of file omitted */&lt;/pre&gt;

&lt;p&gt;&amp;#x3088;&amp;#x308A;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x89E3;&amp;#x6C7A;&amp;#x7B56;&amp;#x306F;&amp;#x3001;SASS&amp;#x306E;&lt;code&gt;import&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306B;&amp;#x5207;&amp;#x308A;&amp;#x66FF;&amp;#x3048;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;CSS&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x540D;&amp;#x306B;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x306E;&lt;code&gt;.scss&lt;/code&gt;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;SASS&amp;#x306B;&amp;#x5207;&amp;#x308A;&amp;#x66FF;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x4E0A;&amp;#x3067;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x6700;&amp;#x521D;&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x30DE;&amp;#x30CB;&amp;#x30D5;&amp;#x30A7;&amp;#x30B9;&amp;#x30C8;(&amp;#x4E0A;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x793A;&amp;#x3057;&amp;#x305F;&amp;#x90E8;&amp;#x5206;)&amp;#x3092;&amp;#x524A;&amp;#x9664;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x6700;&amp;#x5F8C;&amp;#x306B;import&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/stylesheets/application.css.scss&lt;/p&gt;
&lt;pre class="css"&gt;/* Styles omitted */

@import &amp;quot;products&amp;quot;;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x6B63;&amp;#x3057;&amp;#x3044;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x3060;&amp;#x3051;&amp;#x304C;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306F;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30B0;&amp;#x30ED;&amp;#x30FC;&amp;#x30D0;&amp;#x30EB;&amp;#x8A2D;&amp;#x5B9A;&lt;/h3&gt;

&lt;p&gt;Active Admin&amp;#x306B;&amp;#x306F;&lt;code&gt;/config/initializers&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x6B8B;&amp;#x308A;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x307B;&amp;#x3068;&amp;#x3093;&amp;#x3069;&amp;#x306F;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x552F;&amp;#x4E00;&amp;#x6709;&amp;#x52B9;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x7BA1;&amp;#x7406;&amp;#x7528;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306E;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/initializers/active_admin.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveAdmin.setup do |config|

  # == Site Title
  #
  # Set the title that is displayed on the main layout
  # for each of the active admin pages.
  #
  config.site_title = &amp;quot;Eifion&amp;#x27;s Store&amp;quot;

  # Other configuration options omitted.
end&lt;/pre&gt;

&lt;p&gt;&amp;#x5909;&amp;#x66F4;&amp;#x3092;&amp;#x53CD;&amp;#x6620;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x518D;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/746/original/E284I12.png" width="801" height="435" alt="&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x305F;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x89E6;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x70B9;&amp;#x304C;&amp;#x305F;&amp;#x304F;&amp;#x3055;&amp;#x3093;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C6;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x304A;&amp;#x52E7;&amp;#x3081;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Active Admin&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x753B;&amp;#x9762;&amp;#x306F;&amp;#x76EE;&amp;#x7684;&amp;#x306B;&amp;#x5408;&amp;#x3046;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x5916;&amp;#x89B3;&amp;#x3068;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x7BA1;&amp;#x7406;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x4ED8;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x306F;&amp;#x5F37;&amp;#x529B;&amp;#x306A;&amp;#x89E3;&amp;#x6C7A;&amp;#x7B56;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 02 Oct 2011 22:21:54 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/284-active-admin</guid>
      <link>http://ja.asciicasts.com/episodes/284-active-admin</link>
    </item>
    <item>
      <title>Sorcery&#12391;&#35469;&#35388;</title>
      <description>&lt;p&gt;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;250[&lt;a href="http://railscasts.com/episodes/250-authentication-from-scratch"&gt;&amp;#x52D5;&amp;#x753B;&amp;#x3092;&amp;#x898B;&amp;#x308B;&lt;/a&gt;, &lt;a href="http://asciicasts.com/episodes/250-authentication-from-scratch"&gt;&amp;#x8AAD;&amp;#x3080;&lt;/a&gt;]&amp;#x3067;&amp;#x3001;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30BC;&amp;#x30ED;&amp;#x304B;&amp;#x3089;&amp;#x8A8D;&amp;#x8A3C;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x65E2;&amp;#x5B58;&amp;#x306E;&amp;#x30B5;&amp;#x30FC;&amp;#x30C9;&amp;#x30D1;&amp;#x30FC;&amp;#x30C6;&amp;#x30A3;&amp;#x88FD;&amp;#x306E;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x4E00;&amp;#x90E8;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x81EA;&amp;#x52D5;&amp;#x5316;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x308B;gem&amp;#x304C;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&lt;a href="https://github.com/NoamB/sorcery"&gt;Sorcery&lt;/a&gt;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Sorcery&amp;#x306F;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x306A;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x308F;&amp;#x305A;&amp;#x304B;20&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x6301;&amp;#x3064;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x304A;&amp;#x3088;&amp;#x305D;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x8A8D;&amp;#x8A3C;&amp;#x6A5F;&amp;#x80FD;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x3092;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x3055;&amp;#x306B;&amp;#x53CD;&amp;#x3057;&amp;#x3066;&amp;#x30D5;&amp;#x30EB;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x6301;&amp;#x3061;&amp;#x3001;&amp;#x307E;&amp;#x305F;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x65B9;&amp;#x5F0F;&amp;#x3092;&amp;#x3068;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x30D1;&amp;#x30B9;&amp;#x30EF;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x3001;&amp;#x6D3B;&amp;#x52D5;&amp;#x30ED;&amp;#x30B0;&amp;#x306A;&amp;#x3069;&amp;#x3001;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x90E8;&amp;#x54C1;&amp;#x306E;&amp;#x307F;&amp;#x3092;&amp;#x9078;&amp;#x629E;&amp;#x3057;&amp;#x3066;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;Sorcery&amp;#x306F;&amp;#x4ED6;&amp;#x306E;&amp;#x8A8D;&amp;#x8A3C;&amp;#x7528;gem&amp;#x3068;&amp;#x6BD4;&amp;#x8F03;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3088;&amp;#x308A;&amp;#x4F4E;&amp;#x3044;&amp;#x30EC;&amp;#x30D9;&amp;#x30EB;&amp;#x3067;&amp;#x52D5;&amp;#x4F5C;&amp;#x3057;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x5C64;&amp;#x3084;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x5C64;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C7;&amp;#x30A3;&amp;#x30F3;&amp;#x30B0;&amp;#x306F;&amp;#x958B;&amp;#x767A;&amp;#x8005;&amp;#x306B;&amp;#x3086;&amp;#x3060;&amp;#x306D;&amp;#x3089;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x306E;Sorcery&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x65E2;&amp;#x5B58;&amp;#x306E;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x8A8D;&amp;#x8A3C;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x4ED8;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x306F;&amp;#x3058;&amp;#x3081;&amp;#x306B;&lt;/h3&gt;

&lt;p&gt;&amp;#x5BFE;&amp;#x8C61;&amp;#x3068;&amp;#x3059;&amp;#x308B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x3044;&amp;#x305F;&amp;#x3063;&amp;#x3066;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A6;&amp;#x30A7;&amp;#x30EB;&amp;#x30AB;&amp;#x30E0;&amp;#x753B;&amp;#x9762;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x306F;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x73FE;&amp;#x6642;&amp;#x70B9;&amp;#x3067;&amp;#x306F;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306F;&amp;#x8AB0;&amp;#x3067;&amp;#x3082;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3057;&amp;#x305F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306E;&amp;#x307F;&amp;#x304C;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x5236;&amp;#x9650;&amp;#x3092;&amp;#x304B;&amp;#x3051;&amp;#x3088;&amp;#x3046;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x8A8D;&amp;#x8A3C;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;Sorcery&amp;#x304C;&amp;#x767B;&amp;#x5834;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/730/original/E283I01.png" width="804" height="366" alt="&#23550;&#35937;&#12398;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;"/&gt;
&lt;/div&gt;

&lt;p&gt;Sorcery&amp;#x306F;gem&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;&amp;#x53C2;&amp;#x7167;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3001;&lt;code&gt;bundle&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;gem &amp;#x27;sorcery&amp;#x27;&lt;/pre&gt;

&lt;p&gt;Bundler&amp;#x304C;&amp;#x7D42;&amp;#x4E86;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x3001;Sorcery&amp;#x306E;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;(&amp;#x3053;&amp;#x306E;&amp;#x8A73;&amp;#x7D30;&amp;#x306F;&amp;#x5F8C;&amp;#x307B;&amp;#x3069;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;)&lt;/p&gt;

&lt;pre class="ruby"&gt;$ rake sorcery:bootstrap&lt;/pre&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;&lt;code&gt;sorcery_migration&lt;/code&gt;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&amp;#x3044;Sorcery&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x3092;&amp;#x9078;&amp;#x629E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x5358;&amp;#x7D14;&amp;#x306A;&amp;#x30D1;&amp;#x30B9;&amp;#x30EF;&amp;#x30FC;&amp;#x30C9;&amp;#x8A8D;&amp;#x8A3C;&amp;#x306B;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&lt;code&gt;core&lt;/code&gt;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x3068;&amp;#x3001;&lt;code&gt;remember_me&lt;/code&gt;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;Sorcery&amp;#x306E;&lt;a href="https://github.com/NoamB/sorcery/blob/master/README.rdoc"&gt;README&lt;/a&gt;&amp;#x3092;&amp;#x30C1;&amp;#x30A7;&amp;#x30C3;&amp;#x30AF;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g sorcery_migration core remember_me
      create  db/migrate/20110914221626_sorcery_core.rb
      create  db/migrate/20110914221627_sorcery_remember_me.rb&lt;/pre&gt;

&lt;p&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x9078;&amp;#x629E;&amp;#x3057;&amp;#x305F;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x306B;&amp;#x5FDC;&amp;#x3058;&amp;#x3066;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;migration&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x751F;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;sorcery_core&lt;/code&gt;&amp;#x306E;migration&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&lt;code&gt;users&lt;/code&gt;&amp;#x30C6;&amp;#x30FC;&amp;#x30D6;&amp;#x30EB;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x5C5E;&amp;#x6027;&amp;#x304C;&amp;#x78BA;&amp;#x8A8D;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/db/migrate/20110914221626_sorcery_core.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class SorceryCore &amp;lt; ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      t.string :username,         :null =&amp;gt; false  
      t.string :email,            :default =&amp;gt; nil 
      t.string :crypted_password, :default =&amp;gt; nil
      t.string :salt,             :default =&amp;gt; nil
      t.timestamps
    end
  end

  def self.down
    drop_table :users
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;migration&amp;#x306F;&lt;code&gt;username&lt;/code&gt;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;username&lt;/code&gt;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306F;&lt;code&gt;email&lt;/code&gt;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x304F;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x3044;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x8A72;&amp;#x5F53;&amp;#x884C;&amp;#x3092;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/db/migrate/20110914221626_sorcery_core.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class SorceryCore &amp;lt; ActiveRecord::Migration
  def self.up
    create_table :users do |t|
      # t.string :username,         :null =&amp;gt; false  
      t.string :email,            :default =&amp;gt; nil 
      t.string :crypted_password, :default =&amp;gt; nil
      t.string :salt,             :default =&amp;gt; nil
      t.timestamps
    end
  end
end&lt;/pre&gt;

&lt;p&gt;Sorcery&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x3066;&amp;#x3001; &lt;code&gt;username&lt;/code&gt;&amp;#x306E;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&lt;code&gt;email&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;Sorcery&amp;#x306E;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x6700;&amp;#x521D;&amp;#x3067;&amp;#x3001;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x3092;&amp;#x7279;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;core&lt;/code&gt;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x4EE5;&amp;#x5916;&amp;#x3067;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306F;&lt;code&gt;remember_me&lt;/code&gt;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="codeFilePath"&gt;/config/initializers/sorcery.rb&lt;/pre&gt;
&lt;pre class="ruby"&gt;# The first thing you need to configure is which modules you need in your app.
# The default is nothing which will include only core features (password encryption, login/logout).
# Available submodules are: :user_activation, :http_basic_auth, :remember_me, 
# :reset_password, :session_timeout, :brute_force_protection, :activity_logging, :external
Rails.application.config.sorcery.submodules = [:remember_me]

# Rest of file omitted.&lt;/pre&gt;

&lt;p&gt;&amp;#x4ED6;&amp;#x306B;&amp;#x3082;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x6307;&amp;#x5B9A;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x306F;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x5185;&amp;#x3067;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x3084;&amp;#x3059;&amp;#x304F;&amp;#x8AAC;&amp;#x660E;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307B;&amp;#x3068;&amp;#x3093;&amp;#x3069;&amp;#x306F;&amp;#x5909;&amp;#x66F4;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x3060;&amp;#x3051;&lt;code&gt;username_attribute_name&lt;/code&gt;&amp;#x306F;&amp;#x5909;&amp;#x66F4;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5024;&amp;#x3092;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x7279;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x306B;&amp;#x4F7F;&amp;#x3046;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3067;&amp;#x3042;&amp;#x308B;&lt;code&gt;:email&lt;/code&gt;&amp;#x306B;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/initializers/sorcery.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;config.user_config do |user|
  # -- core --
  user.username_attribute_name = :email                                          
	# change default username
	# attribute, for example, 
	# to use :email as the login.                                                                                                                                                                          

	# Other options omitted.
end
# This line must come after the &amp;#x27;user config&amp;#x27; block.
config.user_class = &amp;quot;User&amp;quot;                                                          	
# define which model authenticates                                                                   	
# with sorcery.
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x6700;&amp;#x5F8C;&amp;#x306B;&amp;#x306F;&amp;#x3001;Sorcery&amp;#x304C;&amp;#x8A8D;&amp;#x8A3C;&amp;#x306B;&amp;#x5229;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x9805;&amp;#x76EE;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&lt;code&gt;User&lt;/code&gt;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x306F;&amp;#x307E;&amp;#x3060;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x304C;&amp;#x306A;&amp;#x3044;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3059;&amp;#x3067;&amp;#x306B;&lt;code&gt;User&lt;/code&gt;&amp;#x306E;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3092;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3059;&amp;#x308B;migration&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;Rails&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x4F5C;&amp;#x6210;&amp;#x6642;&amp;#x306B;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g model user --skip-migration&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3067;Sorcery&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x4E00;&amp;#x884C;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/user.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class User &amp;lt; ActiveRecord::Base
  authenticates_with_sorcery!end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x308A;&amp;#x3001;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3067;&amp;#x8A8D;&amp;#x8A3C;&amp;#x3092;&amp;#x6271;&amp;#x3048;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x8FFD;&amp;#x52A0;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x3001;&amp;#x691C;&amp;#x8A3C;(validation)&amp;#x3084;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x4FDD;&amp;#x8B77;&amp;#x3059;&amp;#x308B;&amp;#x6A5F;&amp;#x80FD;&amp;#x306F;&amp;#x8FFD;&amp;#x52A0;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x306F;&amp;#x958B;&amp;#x767A;&amp;#x8005;&amp;#x306B;&amp;#x3086;&amp;#x3060;&amp;#x306D;&amp;#x3089;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/user.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class User &amp;lt; ActiveRecord::Base
  authenticates_with_sorcery!  
  attr_accessible :email, :password, :password_confirmation
  
  validates_confirmation_of :password
  validates_presence_of :password, :on =&amp;gt; :create
  validates_presence_of :email
  validates_uniqueness_of :email
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;migration&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3001;users&amp;#x30C6;&amp;#x30FC;&amp;#x30D6;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rake db:migrate&lt;/pre&gt;

&lt;h3&gt;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3068;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;User&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306E;&amp;#x6E96;&amp;#x5099;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x767B;&amp;#x9332;&amp;#x624B;&amp;#x7D9A;&amp;#x304D;&amp;#x3092;&amp;#x51E6;&amp;#x7406;&amp;#x3059;&amp;#x308B;&lt;code&gt;UsersController&lt;/code&gt;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002; &lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g controller users new&lt;/pre&gt;

&lt;p&gt;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x51E6;&amp;#x7406;&amp;#x3092;&amp;#x304A;&amp;#x3053;&amp;#x306A;&amp;#x3046;SessionsController&amp;#x3082;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;
  
&lt;pre class="terminal"&gt;$ rails g controller sessions new&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3001;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;250&amp;#x3067;&amp;#x8A8D;&amp;#x8A3C;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x30BC;&amp;#x30ED;&amp;#x304B;&amp;#x3089;&amp;#x306B;&amp;#x4F5C;&amp;#x3063;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306E;&amp;#x4F5C;&amp;#x696D;&amp;#x306B;&amp;#x4F3C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x306F;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x89E6;&amp;#x308C;&amp;#x308B;&amp;#x3060;&amp;#x3051;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;UsersController&lt;/code&gt;&amp;#x306F;&amp;#x6A19;&amp;#x6E96;&amp;#x7684;&amp;#x306A;&amp;#x3082;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;new&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&lt;code&gt;User&lt;/code&gt;&amp;#x3092;&amp;#x65B0;&amp;#x898F;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3001; &lt;code&gt;create&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x306F;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x304B;&amp;#x3089;&lt;code&gt;User&lt;/code&gt;&amp;#x3092;&amp;#x65B0;&amp;#x898F;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/users_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class UsersController &amp;lt; ApplicationController
  def new
    @user = User.new
  end
  
  def create
    @user = User.new(params[:user])
    if @user.save
      redirect_to root_url, :notice =&amp;gt; &amp;quot;Signed up!&amp;quot;
    else
      render :new
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;new&lt;/code&gt;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x3082;&amp;#x6A19;&amp;#x6E96;&amp;#x7684;&amp;#x306A;&amp;#x3082;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x65B0;&amp;#x898F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x306B;&lt;code&gt;email&lt;/code&gt;&amp;#x3001;&lt;code&gt;password&lt;/code&gt;&amp;#x3001;&lt;code&gt;password_confirmation&lt;/code&gt;&amp;#x306E;&amp;#x5404;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3068;&amp;#x3001;&amp;#x691C;&amp;#x8A3C;&amp;#x30A8;&amp;#x30E9;&amp;#x30FC;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/users/new.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;h1&amp;gt;Sign Up&amp;lt;/h1&amp;gt;

&amp;lt;%= form_for @user do |f| %&amp;gt;
  &amp;lt;% if @user.errors.any?%&amp;gt;
    &amp;lt;div class=&amp;quot;error_messages&amp;quot;&amp;gt;
      &amp;lt;h2&amp;gt;Form is invalid&amp;lt;/h2&amp;gt;
      &amp;lt;ul&amp;gt;
        &amp;lt;% for message in @user.errors.full_messages %&amp;gt;
          &amp;lt;li&amp;gt;&amp;lt;%= message %&amp;gt;&amp;lt;/li&amp;gt;
        &amp;lt;% end %&amp;gt;
      &amp;lt;/ul&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;% end %&amp;gt;
  &amp;lt;div class=&amp;quot;field&amp;quot;&amp;gt;
    &amp;lt;%= f.label :email %&amp;gt;
    &amp;lt;%= f.text_field :email %&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;field&amp;quot;&amp;gt;
    &amp;lt;%= f.label :password %&amp;gt;
    &amp;lt;%= f.password_field :password %&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;field&amp;quot;&amp;gt;
    &amp;lt;%= f.label :password_confirmation %&amp;gt;
    &amp;lt;%= f.password_field :password_confirmation %&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;actions&amp;quot;&amp;gt;&amp;lt;%= f.submit %&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;% end %&amp;gt;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;SessionsController&lt;/code&gt;&amp;#x306E;&amp;#x4E2D;&amp;#x8EAB;&amp;#x306F;&amp;#x3001;&amp;#x3088;&amp;#x308A;&amp;#x8208;&amp;#x5473;&amp;#x6DF1;&amp;#x3044;&amp;#x3082;&amp;#x306E;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;new&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x6B21;&amp;#x306B;&amp;#x30C6;&amp;#x30F3;&amp;#x30D7;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x3067;&amp;#x3001;&lt;code&gt;email&lt;/code&gt;&amp;#x3068;&lt;code&gt;password&lt;/code&gt;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3068;&lt;code&gt;remember_me&lt;/code&gt;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306E;&lt;code&gt;checkbox&lt;/code&gt;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x305F;&amp;#x3082;&amp;#x306E;&amp;#x3092;&amp;#x4F5C;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/sessions/new.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;h1&amp;gt;Log in&amp;lt;/h1&amp;gt;

&amp;lt;%= form_tag sessions_path do %&amp;gt;
  &amp;lt;div class=&amp;quot;field&amp;quot;&amp;gt;
    &amp;lt;%= label_tag :email %&amp;gt;
    &amp;lt;%= text_field_tag :email, params[:email] %&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;field&amp;quot;&amp;gt;
    &amp;lt;%= label_tag :password %&amp;gt;
    &amp;lt;%= password_field_tag :password %&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;field&amp;quot;&amp;gt;
    &amp;lt;%= check_box_tag :remember_me, 1, params[:remember_me] %&amp;gt;
    &amp;lt;%= label_tag :remember_me %&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;div class=&amp;quot;actions&amp;quot;&amp;gt;&amp;lt;%= submit_tag &amp;quot;Log in&amp;quot; %&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;% end %&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x3092;&amp;#x51E6;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&lt;code&gt;create&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Sorcery&amp;#x3067;&amp;#x306F;&lt;code&gt;login&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x3001; 3&amp;#x3064;&amp;#x306E;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x3068;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x540D;&amp;#x304B;&amp;#x30E1;&amp;#x30FC;&amp;#x30EB;&amp;#x30A2;&amp;#x30C9;&amp;#x30EC;&amp;#x30B9;&amp;#x3001;&amp;#x5165;&amp;#x529B;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30D1;&amp;#x30B9;&amp;#x30EF;&amp;#x30FC;&amp;#x30C9;&amp;#x3001;&lt;code&gt;remember_me&lt;/code&gt;&amp;#x30C1;&amp;#x30A7;&amp;#x30C3;&amp;#x30AF;&amp;#x30DC;&amp;#x30C3;&amp;#x30AF;&amp;#x30B9;&amp;#x306E;&amp;#x5024;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x8A8D;&amp;#x8A3C;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x3001;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x3082;&amp;#x306E;&amp;#x304C;&amp;#x898B;&amp;#x3064;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x305D;&amp;#x306E;&lt;code&gt;User&lt;/code&gt;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x898B;&amp;#x3064;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x898B;&amp;#x3064;&amp;#x304B;&amp;#x3089;&amp;#x306A;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x30D5;&amp;#x30E9;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x30E1;&amp;#x30C3;&amp;#x30BB;&amp;#x30FC;&amp;#x30B8;&amp;#x3068;&amp;#x5171;&amp;#x306B;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/controllers/sessions_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class SessionsController &amp;lt; ApplicationController
  def new
  end
  
  def create
    user = login(params[:email], params[:password], &amp;crarr;
      params[:remember_me])
    if user
      redirect_back_or_to root_url, :notice =&amp;gt; &amp;quot;Logged in!&amp;quot;
    else
      flash.now.alert = &amp;quot;Email or password was invalid.&amp;quot;
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x898B;&amp;#x3064;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x3001;&lt;code&gt;redirect_to&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x3001;Sorcery &amp;#x304C;&amp;#x63D0;&amp;#x4F9B;&amp;#x3059;&amp;#x308B;&lt;code&gt;redirect_back_or_to&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&lt;code&gt;redirect_to&lt;/code&gt;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x632F;&amp;#x308B;&amp;#x307E;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;Sorcery&amp;#x304C;URL&amp;#x3092;&amp;#x4FDD;&amp;#x5B58;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x305F;URL&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x4FDD;&amp;#x5B58;&amp;#x3055;&amp;#x308C;&amp;#x305F;URL&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;&amp;#x306E;&amp;#x306F;&amp;#x3001;&amp;#x3042;&amp;#x308B;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x305F;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x307E;&amp;#x305A;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x3001;Sorcery&amp;#x304C;&amp;#x305D;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x8A98;&amp;#x5C0E;&amp;#x3057;&amp;#x3001;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x304C;&amp;#x6210;&amp;#x529F;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x6700;&amp;#x521D;&amp;#x306B;&amp;#x8A2A;&amp;#x308C;&amp;#x3088;&amp;#x3046;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x623B;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x308B;&amp;#x70B9;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x624B;&amp;#x6BB5;&amp;#x3082;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x306B;&lt;code&gt;destroy&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3082;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Sorcery&amp;#x306B;&amp;#x306F;&lt;code&gt;logout&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3092;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3057;&amp;#x305F;&amp;#x5F8C;&amp;#x306F;&amp;#x3001;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/controllers/sessions_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def destroy
  logout
  redirect_to root_url, :notice =&amp;gt; &amp;quot;Logged out!&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;routes&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x958B;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x3092;&amp;#x3064;&amp;#x306A;&amp;#x3052;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x306E;&amp;#x81EA;&amp;#x52D5;&amp;#x751F;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6B21;&amp;#x306E;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;&amp;#x3067;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/routes.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;Auth::Application.routes.draw do
  get &amp;quot;logout&amp;quot; =&amp;gt; &amp;quot;sessions#destroy&amp;quot;, :as =&amp;gt; &amp;quot;logout&amp;quot;
  get &amp;quot;login&amp;quot; =&amp;gt; &amp;quot;sessions#new&amp;quot;, :as =&amp;gt; &amp;quot;login&amp;quot;
  get &amp;quot;signup&amp;quot; =&amp;gt; &amp;quot;users#new&amp;quot;, :as =&amp;gt; &amp;quot;signup&amp;quot;
  resources :users
  resources :sessions
  get &amp;quot;secret&amp;quot; =&amp;gt; &amp;quot;home#secret&amp;quot;, :as =&amp;gt; &amp;quot;secret&amp;quot;
  root :to =&amp;gt; &amp;quot;home#index&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;&amp;#x8A8D;&amp;#x8A3C;&amp;#x306B;&amp;#x95A2;&amp;#x9023;&amp;#x3059;&amp;#x308B;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x51E6;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x4ED8;&amp;#x304D;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;(named routes)&amp;#x3084;&amp;#x30EA;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;(resources)&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x65B0;&amp;#x3057;&amp;#x304F;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&amp;#x65B0;&amp;#x898F;&amp;#x306B;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x3092;&amp;#x30EC;&amp;#x30A4;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x304B;&amp;#x3089;&amp;#x898B;&amp;#x3048;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;current_user&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x304C;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x30E1;&amp;#x30FC;&amp;#x30EB;&amp;#x30A2;&amp;#x30C9;&amp;#x30EC;&amp;#x30B9;&amp;#x3092;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3068;&amp;#x4E00;&amp;#x7DD2;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x767B;&amp;#x9332;&amp;#x304B;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3092;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/layouts/application.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;Auth Example&amp;lt;/title&amp;gt;
  &amp;lt;%= stylesheet_link_tag    &amp;quot;application&amp;quot; %&amp;gt;
  &amp;lt;%= javascript_include_tag &amp;quot;application&amp;quot; %&amp;gt;
  &amp;lt;%= csrf_meta_tags %&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body class=&amp;quot;&amp;lt;%= params[:controller] %&amp;gt;&amp;quot;&amp;gt;
  &amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;
    &amp;lt;div class=&amp;quot;user_nav&amp;quot;&amp;gt;
      &amp;lt;% if current_user %&amp;gt;
        Logged in as &amp;lt;%= current_user.email %&amp;gt;.
        &amp;lt;%= link_to &amp;quot;Log out&amp;quot;, logout_path %&amp;gt;
      &amp;lt;% else %&amp;gt;
        &amp;lt;%= link_to &amp;quot;Sign up&amp;quot;, signup_path %&amp;gt; or
        &amp;lt;%= link_to &amp;quot;Log in&amp;quot;, login_path  %&amp;gt;.
      &amp;lt;% end %&amp;gt;
    &amp;lt;/div&amp;gt;
    &amp;lt;% flash.each do |name, msg| %&amp;gt;
      &amp;lt;%= content_tag :div, msg, :id =&amp;gt; &amp;quot;flash_#{name}&amp;quot; %&amp;gt;
    &amp;lt;% end %&amp;gt;
    &amp;lt;%= yield %&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3092;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x6E96;&amp;#x5099;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x767B;&amp;#x9332;&amp;#x3068;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/731/original/E283I02.png" width="798" height="380" alt="&#12377;&#12409;&#12390;&#12398;&#12506;&#12540;&#12472;&#12395;&#30331;&#37682;&#12392;&#12525;&#12464;&#12452;&#12531;&#12398;&#12522;&#12531;&#12463;&#12364;&#34920;&#31034;&#12373;&#12428;&#12427;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x767B;&amp;#x9332;&amp;#x3092;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x767B;&amp;#x9332;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x767B;&amp;#x9332;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x5F8C;&amp;#x3001;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3092;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x767B;&amp;#x9332;&amp;#x3057;&amp;#x305F;&amp;#x60C5;&amp;#x5831;&amp;#x3067;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 
 
&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/732/original/E283I03.png" width="803" height="397" alt="&#12525;&#12464;&#12452;&#12531;&#30011;&#38754;"/&gt;
&lt;/div&gt;

&lt;h3&gt;&amp;#x6A29;&amp;#x9650;&amp;#x3092;&amp;#x4E0E;&amp;#x3048;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306B;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3057;&amp;#x3066;&amp;#x304B;&amp;#x3089;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x307E;&amp;#x3060;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x6A29;&amp;#x9650;&amp;#x3092;&amp;#x4ED8;&amp;#x4E0E;&amp;#x3059;&amp;#x308B;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x3060;&amp;#x3051;&amp;#x304C;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x5236;&amp;#x9650;&amp;#x3092;&amp;#x304B;&amp;#x3051;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;(secret)&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306F;&amp;#x3001;&lt;code&gt;HomeController&lt;/code&gt;&amp;#x5185;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x3002;Sorcery&amp;#x304C;&amp;#x63D0;&amp;#x4F9B;&amp;#x3059;&amp;#x308B;&lt;code&gt;require_login&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&lt;code&gt;before_filter&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3078;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x5236;&amp;#x9650;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;secret&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3078;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x5236;&amp;#x9650;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/home_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class HomeController &amp;lt; ApplicationController
  before_filter :require_login, :only =&amp;gt; :secret

  def index
  end

  def secret
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30FC;&amp;#x304C;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x3001;Sorcery&amp;#x306F;&lt;code&gt;not_authenticated&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;ApplicationController&lt;/code&gt;&amp;#x3067;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x30AA;&amp;#x30FC;&amp;#x30D0;&amp;#x30FC;&amp;#x30E9;&amp;#x30A4;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x305D;&amp;#x3046;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x6A29;&amp;#x9650;&amp;#x304C;&amp;#x4ED8;&amp;#x4E0E;&amp;#x3055;&amp;#x308C;&amp;#x306A;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306E;&amp;#x52D5;&amp;#x4F5C;&amp;#x3092;&amp;#x5236;&amp;#x5FA1;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3057;&amp;#x3066;&amp;#x8B66;&amp;#x544A;&amp;#x30E1;&amp;#x30C3;&amp;#x30BB;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/app/controllers/application_controller.rb&lt;/p&gt;
&lt;pre class="rubby"&gt;class ApplicationController &amp;lt; ActionController::Base
  protect_from_forgery
  
  private
  def not_authenticated
    redirect_to login_url, :alert =&amp;gt; &amp;quot;First log in to view &amp;crarr;
    this page.&amp;quot;
  end
  
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3057;&amp;#x305F;&amp;#x72B6;&amp;#x614B;&amp;#x3067;&amp;#x518D;&amp;#x5EA6;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x306F;&amp;#x8B66;&amp;#x544A;&amp;#x30E1;&amp;#x30C3;&amp;#x30BB;&amp;#x30FC;&amp;#x30B8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/733/original/E283I04.png" width="803" height="436" alt="&#12525;&#12464;&#12452;&#12531;&#12379;&#12378;&#12395;&#31192;&#23494;&#12398;&#12506;&#12540;&#12472;&#12434;&#35211;&#12424;&#12358;&#12392;&#12377;&#12427;&#12392;&#12522;&#12480;&#12452;&#12524;&#12463;&#12488;&#12373;&#12428;&#12427;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x79D8;&amp;#x5BC6;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x30ED;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x898B;&amp;#x3088;&amp;#x3046;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;Sorcery&amp;#x304C;&amp;#x61B6;&amp;#x3048;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/734/original/E283I05.png" width="803" height="436" alt="&#12525;&#12464;&#12452;&#12531;&#12377;&#12427;&#12392;&#12506;&#12540;&#12472;&#12434;&#35211;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12427;"/&gt;
&lt;/div&gt;

&lt;p&gt;Sorcery&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x305F;&amp;#x4EE5;&amp;#x5916;&amp;#x306B;&amp;#x3082;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;a href="https://github.com/NoamB/sorcery"&gt;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C6;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&lt;/a&gt;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&amp;#x5C11;&amp;#x3057;&amp;#x4F4E;&amp;#x3044;&amp;#x30EC;&amp;#x30D9;&amp;#x30EB;&amp;#x3067;&amp;#x52D5;&amp;#x4F5C;&amp;#x3059;&amp;#x308B;&amp;#x8A8D;&amp;#x8A3C;&amp;#x30BD;&amp;#x30EA;&amp;#x30E5;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x63A2;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;Sorcery&amp;#x3092;&amp;#x691C;&amp;#x8A0E;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x4FA1;&amp;#x5024;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Wed, 28 Sep 2011 18:43:16 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/283-authentication-with-sorcery</guid>
      <link>http://ja.asciicasts.com/episodes/283-authentication-with-sorcery</link>
    </item>
    <item>
      <title>Rails 3.1&#12408;&#12398;&#12450;&#12483;&#12503;&#12464;&#12524;&#12540;&#12489;</title>
      <description>&lt;p&gt;Rails 3.1&amp;#x304C;&amp;#x3064;&amp;#x3044;&amp;#x306B;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x65B0;&amp;#x6A5F;&amp;#x80FD;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x6982;&amp;#x8981;&amp;#x8AAC;&amp;#x660E;&amp;#x304C;&lt;a href="http://guides.rubyonrails.org/3_1_release_notes.html"&gt;RailsGuides&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306E;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;&amp;#x30CE;&amp;#x30FC;&amp;#x30C8;&lt;/a&gt;&amp;#x306B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&amp;#x65B0;&amp;#x6A5F;&amp;#x80FD;&amp;#x306E;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x3001;&lt;a href="http://railscasts.com/?tag_id=31"&gt;Railscasts&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&lt;/a&gt;&amp;#x3068;&lt;a href="http://asciicasts.com/tags/rails-31"&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&lt;/a&gt;&amp;#x3067;&amp;#x3082;&amp;#x7D39;&amp;#x4ECB;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;Rails 3.0&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;3.1&amp;#x306B;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x306B;&amp;#x7126;&amp;#x70B9;&amp;#x3092;&amp;#x3042;&amp;#x3066;&amp;#x3001;Railscasts&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3092;&amp;#x4F8B;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3092;&amp;#x6E96;&amp;#x5099;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x3092;Rails 3.1&amp;#x306B;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x524D;&amp;#x306B;&amp;#x3001;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x6E96;&amp;#x5099;&amp;#x4F5C;&amp;#x696D;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x304C;Rails 3.0&amp;#x306E;&amp;#x6700;&amp;#x65B0;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;(&amp;#x73FE;&amp;#x6642;&amp;#x70B9;&amp;#x3067;&amp;#x306F;3.0.10)&amp;#x3067;&amp;#x52D5;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x66F4;&amp;#x65B0;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x306F;&amp;#x3001;Gemfile&amp;#x3067;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&lt;code&gt;bundle&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;gem &amp;quot;rails&amp;quot;, &amp;quot;3.0.10&amp;quot;&lt;/pre&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x30B9;&amp;#x30A4;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x6210;&amp;#x529F;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3068;&amp;#x975E;&amp;#x63A8;&amp;#x5968;&amp;#x30A8;&amp;#x30E9;&amp;#x30FC;(deprecation error)&amp;#x304C;&amp;#x51FA;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x30A8;&amp;#x30E9;&amp;#x30FC;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x304B;&amp;#x3089;&amp;#x3053;&amp;#x306E;&amp;#x5F8C;&amp;#x306E;&amp;#x4F5C;&amp;#x696D;&amp;#x306B;&amp;#x9032;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;Railscasts&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x6210;&amp;#x529F;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5F15;&amp;#x304D;&amp;#x7D9A;&amp;#x304D;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x4F5C;&amp;#x696D;&amp;#x306B;&amp;#x79FB;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&lt;/h3&gt;

&lt;p&gt;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306E;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x4F5C;&amp;#x696D;&amp;#x3092;&amp;#x958B;&amp;#x59CB;&amp;#x3059;&amp;#x308B;&amp;#x6E96;&amp;#x5099;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x3001;&lt;code&gt;rails31&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x540D;&amp;#x524D;&amp;#x306E;&amp;#x65B0;&amp;#x3057;&amp;#x3044;Git&amp;#x30D6;&amp;#x30E9;&amp;#x30F3;&amp;#x30C1;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x3067;&amp;#x884C;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ git checkout -b rails31&lt;/pre&gt;

&lt;p&gt;Rails 3.1&amp;#x3078;&amp;#x306E;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x81F3;&amp;#x3063;&amp;#x3066;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x305F;&amp;#x3060;&amp;#x5358;&amp;#x306B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x3092;&amp;#x958B;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x756A;&amp;#x53F7;&amp;#x3092;3.1&amp;#x306E;&amp;#x6700;&amp;#x65B0;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;(&amp;#x73FE;&amp;#x6642;&amp;#x70B9;&amp;#x3067;&amp;#x306F;&lt;code&gt;3.1.0&lt;/code&gt;)&amp;#x306B;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002; &lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;gem &amp;quot;rails&amp;quot;, &amp;quot;3.1.0&amp;quot;&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;bundle update&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x65B0;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x552F;&amp;#x4E00;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x30F6;&amp;#x6240;&amp;#x4FEE;&amp;#x6B63;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x306E;&amp;#x304C;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&lt;code&gt;development.rb&lt;/code&gt;&amp;#x3067;&amp;#x3001;&amp;#x6B21;&amp;#x306E;&amp;#x884C;&amp;#x3092;&amp;#x524A;&amp;#x9664;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/config/development.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;# config.action_view.debug_rjs = true&lt;/pre&gt;

&lt;p&gt;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x6210;&amp;#x529F;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Rails&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x6B63;&amp;#x5E38;&amp;#x306B;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x3001;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x304B;&amp;#x3089;&amp;#x53C2;&amp;#x7167;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/728/original/E282I01.png" width="802" height="567" alt="&#12469;&#12452;&#12488;&#12364;rails 3.1&#12391;&#31292;&#20685;&#12375;&#12383;"/&gt;
&lt;/div&gt;

&lt;h3&gt;Asset Pipeline&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x4FEE;&amp;#x6B63;&lt;/h3&gt;

&lt;p&gt;Asset Pipeline&amp;#x306F;Rails 3.1&amp;#x306E;&amp;#x4E3B;&amp;#x306A;&amp;#x65B0;&amp;#x6A5F;&amp;#x80FD;&amp;#x306E;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x306F;&amp;#x753B;&amp;#x50CF;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3001;&amp;#x30B9;&amp;#x30BF;&amp;#x30A4;&amp;#x30EB;&amp;#x30B7;&amp;#x30FC;&amp;#x30C8;&amp;#x3001;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x307E;&amp;#x3060;&lt;code&gt;/public&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x307E;&amp;#x3060;&amp;#x307E;&amp;#x3063;&amp;#x305F;&amp;#x304F;&amp;#x6D3B;&amp;#x304B;&amp;#x305B;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;Asset Pipeline&amp;#x306F;&amp;#x5B8C;&amp;#x5168;&amp;#x306B;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3055;&amp;#x305B;&amp;#x306A;&amp;#x3044;&amp;#x9650;&amp;#x308A;&amp;#x306F;&amp;#x305D;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306F;&amp;#x73FE;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x306E;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x307E;&amp;#x3060;&amp;#x308F;&amp;#x304B;&amp;#x3089;&amp;#x306A;&amp;#x3044;&amp;#x6642;&amp;#x70B9;&amp;#x3067;&amp;#x3042;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x3001;Rails 3.1&amp;#x3078;&amp;#x306E;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x601D;&amp;#x3044;&amp;#x3068;&amp;#x3069;&amp;#x307E;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x3044;&amp;#x304B;&amp;#x306B;&amp;#x7C21;&amp;#x5358;&amp;#x304B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x8003;&amp;#x3048;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x4ECA;&amp;#x884C;&amp;#x308F;&amp;#x306A;&amp;#x3044;&amp;#x7406;&amp;#x7531;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3057;Asset Pipeline&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x6B21;&amp;#x306E;&amp;#x884C;&amp;#x3092;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;(&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x884C;&amp;#x306F;&amp;#x3001;&amp;#x65B0;&amp;#x898F;&amp;#x306B;Rails 3.1&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x751F;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x308B;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;&amp;#x5165;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;)&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem &amp;#x27;sass-rails&amp;#x27;, &amp;quot; ~&amp;gt; 3.1.0&amp;quot;
  gem &amp;#x27;coffee-rails&amp;#x27;, &amp;quot; ~&amp;gt; 3.1.0&amp;quot;
  gem &amp;#x27;uglifier&amp;#x27;
end

gem &amp;#x27;jquery-rails&amp;#x27;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&lt;code&gt;assets&lt;/code&gt;&amp;#x30B0;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x95A2;&amp;#x9023;&amp;#x306E;gem&amp;#x3092;&amp;#x5165;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&amp;#x3001;&lt;code&gt;jquery-rails&lt;/code&gt; gem&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x3066;jQuery&amp;#x304C;&amp;#x4F7F;&amp;#x3048;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;(&amp;#x3082;&amp;#x3057;Prototype&amp;#x3092;&amp;#x4F7F;&amp;#x3044;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&lt;a href="https://github.com/rails/prototype-rails"&gt;&lt;code&gt;prototype-rails&lt;/code&gt; gem&lt;/a&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;)&amp;#x3055;&amp;#x3089;&amp;#x306B;&lt;code&gt;/config/application.rb&lt;/code&gt;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#xFF1A;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/application.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;# If you have a Gemfile, require the gems listed there, including any gems
# you&amp;#x27;ve limited to :test, :development, or :production.
Bundler.require(:default, Rails.env) if defined?(Bundler)&lt;/pre&gt;

&lt;p&gt;&amp;#x3092;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x66F8;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/application.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;if defined?(Bundler)
  # If you precompile assets before deploying to production, 
    use this line
  Bundler.require *Rails.groups(:assets =&amp;gt; %w(development test))
  # If you want your assets lazily compiled in production, 
    use this line
  # Bundler.require(:default, :assets, Rails.env)
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&lt;code&gt;Bundler&lt;/code&gt;&amp;#x3067;&amp;#x8981;&amp;#x6C42;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x30B0;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x306B;&lt;code&gt;assets&lt;/code&gt;&amp;#x30B0;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x7D9A;&amp;#x3044;&amp;#x3066;Asset Pipeline&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&lt;code&gt;Application&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/application.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;# Enable the asset pipeline
config.assets.enabled = true

# Version of your assets, change this if you want to expire all your assets
config.assets.version = &amp;#x27;1.0&amp;#x27;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;Asset Pipeline&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3057;&amp;#x3001;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x756A;&amp;#x53F7;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306B;&amp;#x6709;&amp;#x52B9;&amp;#x671F;&amp;#x9650;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#x5024;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x3066;environment&amp;#x306E;&amp;#x5404;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x6700;&amp;#x521D;&amp;#x306F;&lt;code&gt;development.rb&lt;/code&gt;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x7B87;&amp;#x6240;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x5727;&amp;#x7E2E;&amp;#x305B;&amp;#x305A;&amp;#x3001;asset debugging&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/environments/development.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;  # Do not compress assets
  config.assets.compress = false
  
  # Expands the lines which load the assets
  config.assets.debug = true&lt;/pre&gt;
  
&lt;p&gt;&amp;#x6B21;&amp;#x306B;&lt;code&gt;production.rb&lt;/code&gt;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;  

&lt;p class="codeFilePath"&gt;/config/environments/production.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;# Compress JavaScript and CSS
config.assets.compress = true
   
# Don&amp;#x27;t fallback to assets pipeline
config.assets.compile = false
   
# Generate digests for assets URLs
config.assets.digest = true&lt;/pre&gt;

&lt;p&gt;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;(production mode)&amp;#x3067;&amp;#x306F;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x5727;&amp;#x7E2E;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&lt;code&gt;compile&lt;/code&gt;&amp;#x3092;&lt;code&gt;false&lt;/code&gt;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30D7;&amp;#x30EA;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30EB;&amp;#x6642;&amp;#x306B;&amp;#x306F;Asset Pipeline&amp;#x304C;&amp;#x6A5F;&amp;#x80FD;&amp;#x3057;&amp;#x306A;&amp;#x3044;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&lt;code&gt;digest&lt;/code&gt;&amp;#x3092;&lt;code&gt;true&lt;/code&gt;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306E;URL&amp;#x304C;&lt;a href="http://guides.rubyonrails.org/asset_pipeline.html#what-is-fingerprinting-and-why-should-i-care"&gt;fingerprint&lt;/a&gt;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x3082;&amp;#x3061;&amp;#x308D;&amp;#x3093;&amp;#x3001;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x3069;&amp;#x3046;&amp;#x632F;&amp;#x821E;&amp;#x3063;&amp;#x3066;&amp;#x307B;&amp;#x3057;&amp;#x3044;&amp;#x304B;&amp;#x306B;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x3066;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x9055;&amp;#x3046;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x6700;&amp;#x5F8C;&amp;#x306B;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x74B0;&amp;#x5883;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x9759;&amp;#x7684;&amp;#x306A;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x30AD;&amp;#x30E3;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x304B;&amp;#x3064;asset debugging&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/environments/test.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;# Configure static asset server for tests with Cache-Control for performance
config.serve_static_assets = true
config.static_cache_control = &amp;quot;public, max-age=3600&amp;quot;

# Allow pass debug_assets=true as a query parameter to load pages with unpackaged assets
config.assets.allow_debugging = true&lt;/pre&gt; 

&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x7BA1;&amp;#x7406;&amp;#x306B;Git&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x3001;&lt;code&gt;.gitignore&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3082;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x7121;&amp;#x8996;&amp;#x3059;&amp;#x308B;&amp;#x9805;&amp;#x76EE;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x306B;&lt;code&gt;.sass-cache&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;Git&amp;#x3067;&amp;#x306F;SASS&amp;#x306E;&amp;#x30AD;&amp;#x30E3;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x306F;&amp;#x4E0D;&amp;#x8981;&amp;#x3060;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/.gitignore&lt;/p&gt;
&lt;pre class="ruby"&gt;.sass-cache/&lt;/pre&gt;

&lt;h3&gt;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x79FB;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;Asset Pipeline&amp;#x304C;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;app/assets&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3057;&amp;#x3066;&lt;code&gt;images&lt;/code&gt;&amp;#x3001;&lt;code&gt;javascripts&lt;/code&gt;&amp;#x3001;&lt;code&gt;stylesheets&lt;/code&gt;&amp;#x306E;&amp;#x5404;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&lt;code&gt;/public&lt;/code&gt; &amp;#x304B;&amp;#x3089;&lt;code&gt;/app/assets&lt;/code&gt;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ mkdir app/assets
$ mv public/images/ app/assets/
$ mv public/javascripts/ app/assets/
$ mv public/stylesheets/ app/assets/&lt;/pre&gt;

&lt;p&gt;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x305F;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x3046;&amp;#x3061;&amp;#x306E;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&lt;code&gt;javascripts&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;jQuery&amp;#x95A2;&amp;#x9023;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x3082;&amp;#x306F;&amp;#x3084;&amp;#x5FC5;&amp;#x8981;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306F;jQuery gem&amp;#x306B;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;jquery.js&lt;/code&gt;&amp;#x3001;&lt;code&gt;jquery.min.js&lt;/code&gt;&amp;#x3001;&lt;code&gt;rails.js&lt;/code&gt;&amp;#x306F;&amp;#x524A;&amp;#x9664;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x3001;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;279[&lt;a href="http://railscasts.com/episodes/279-understanding-the-asset-pipeline"&gt;&amp;#x52D5;&amp;#x753B;&amp;#x3092;&amp;#x898B;&amp;#x308B;&lt;/a&gt;, &lt;a href="http://asciicasts.com/episodes/279-understanding-the-asset-pipeline"&gt;&amp;#x8AAD;&amp;#x3080;&lt;/a&gt;]&amp;#x3067;&amp;#x884C;&amp;#x3063;&amp;#x305F;&amp;#x306E;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;jQuery&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x306A;&amp;#x3069;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&lt;code&gt;/lib/assets&lt;/code&gt;&amp;#x304B;&lt;code&gt;/vendor/assets&lt;/code&gt;&amp;#x306B;&amp;#x79FB;&amp;#x3059;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x3092;&amp;#x6C7A;&amp;#x3081;&amp;#x3066;&amp;#x304A;&amp;#x304F;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;manifest&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x306F;&amp;#x3059;&amp;#x3067;&amp;#x306B;&lt;code&gt;application.js&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3068;&lt;code&gt;application.css&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x5B58;&amp;#x5728;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x65B0;&amp;#x305F;&amp;#x306B;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3067;&amp;#x306F;CSS&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304B;&amp;#x3089;&amp;#x59CB;&amp;#x3081;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;manifest&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x6700;&amp;#x521D;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x306B;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&lt;a href="https://github.com/sstephenson/sprockets"&gt;Sprockets&lt;/a&gt;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x3069;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x3092;&amp;#x6307;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;(Sprockets&amp;#x306E;&amp;#x8A18;&amp;#x6CD5;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;279&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;)Sprockets&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x6B8B;&amp;#x308A;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3068;&amp;#x3001;stylesheets&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3068;&amp;#x305D;&amp;#x306E;&amp;#x30B5;&amp;#x30D6;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x6307;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/stylesheets/application.css&lt;/p&gt;
&lt;pre class="css"&gt;/*
*= require_self
*= require_tree .
*/

/* rest of file omitted */&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;application.js&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x6307;&amp;#x793A;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;jQuery&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5C11;&amp;#x3057;&amp;#x9055;&amp;#x3046;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x884C;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/app/assets/javascripts/application.js&lt;/p&gt;
&lt;pre class="javascript"&gt;//= require jquery
//= require jquery_ujs
//= require_self
//= require_tree .

/* rest of file omitted */&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x3082;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x81EA;&amp;#x4F53;&amp;#x306B;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&lt;code&gt;require_self&lt;/code&gt;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3001;&amp;#x540C;&amp;#x3058;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&lt;code&gt;require_tree&lt;/code&gt;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x307E;&amp;#x305F;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30EC;&amp;#x30A4;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x958B;&amp;#x3044;&amp;#x3066;stylesheet&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3068;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x884C;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x95A2;&amp;#x9023;&amp;#x3059;&amp;#x308B;application&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3060;&amp;#x3051;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x306E;&amp;#x3082;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;manifest&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/layouts/application.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;%= stylesheet_link_tag &amp;quot;application&amp;quot; %&amp;gt;
&amp;lt;%= javascript_include_tag &amp;quot;application&amp;quot;, &amp;quot;http://cdn.sublimevideo.net/js/3s7oes9q.js&amp;quot; %&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3068;&amp;#x3059;&amp;#x308B;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&amp;#x3001;Asset Pipeline&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x306A;&amp;#x3044;&amp;#x5916;&amp;#x90E8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3082;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3082;&amp;#x3084;&amp;#x306F;&amp;#x308A;&amp;#x4E0A;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x306B;&amp;#x542B;&amp;#x3080;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x304B;&amp;#x3089;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x3066;&amp;#x3001;&amp;#x5909;&amp;#x66F4;&amp;#x70B9;&amp;#x304C;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x52D5;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x304B;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x524D;&amp;#x306B;&lt;code&gt;bundle&lt;/code&gt;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;gem&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x304C;&amp;#x5B8C;&amp;#x4E86;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails s&lt;/pre&gt;

&lt;p&gt;&amp;#x307B;&amp;#x3068;&amp;#x3093;&amp;#x3069;&amp;#x306F;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x4E00;&amp;#x90E8;&amp;#x306E;&amp;#x753B;&amp;#x50CF;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x753B;&amp;#x9762;&amp;#x4E0A;&amp;#x90E8;&amp;#x306E;&amp;#x30ED;&amp;#x30B4;&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/729/original/E282I02.png" width="804" height="381" alt="&#12469;&#12452;&#12488;&#12399;&#27491;&#24120;&#12395;&#21205;&#20316;&#12377;&#12427;&#12364;&#12289;&#19968;&#37096;&#12398;&#30011;&#20687;&#12364;&#34920;&#31034;&#12373;&#12428;&#12394;&#12356;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x306E;&amp;#x539F;&amp;#x56E0;&amp;#x306F;&amp;#x3001;&amp;#x753B;&amp;#x50CF;&amp;#x306E;URL&amp;#x304C;&amp;#x30EC;&amp;#x30A4;&amp;#x30A2;&amp;#x30A6;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x76F4;&amp;#x66F8;&amp;#x304D;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/layouts/application.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;img src=&amp;quot;/images/railscasts_logo.png&amp;quot; width=&amp;quot;423&amp;quot; height=&amp;quot;56&amp;quot; alt=&amp;quot;RailsCasts = Ruby on Rails Screencasts&amp;quot;/&amp;gt;&lt;/pre&gt;
  
&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x753B;&amp;#x50CF;&amp;#x306F;&amp;#x3082;&amp;#x3046;&lt;code&gt;/public/images&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x4E00;&amp;#x756A;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x89E3;&amp;#x6C7A;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x306F;&amp;#x3001;&amp;#x753B;&amp;#x50CF;&amp;#x306E;URL&amp;#x3092;&lt;code&gt;/images/railscasts_logo.png&lt;/code&gt;&amp;#x304B;&amp;#x3089;&lt;code&gt;/assets/railscasts_logo.png&lt;/code&gt;&amp;#x306B;&amp;#x5909;&amp;#x66F4;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x601D;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001; &amp;#x958B;&amp;#x767A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x884C;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x898B;&amp;#x3048;&amp;#x3066;&amp;#x3082;&amp;#x3001;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x554F;&amp;#x984C;&amp;#x304C;&amp;#x767A;&amp;#x751F;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;assets.digest&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6709;&amp;#x52B9;&amp;#x5316;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x540D;&amp;#x524D;&amp;#x306E;&amp;#x5F8C;&amp;#x308D;&amp;#x306B;&amp;#x30CF;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x5024;&amp;#x304C;&amp;#x8FFD;&amp;#x52A0;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3078;&amp;#x306E;&amp;#x9759;&amp;#x7684;&amp;#x306A;&amp;#x53C2;&amp;#x7167;&amp;#x306F;&amp;#x6A5F;&amp;#x80FD;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x5E38;&amp;#x306B;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3001;&amp;#x958B;&amp;#x767A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3068;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x4E21;&amp;#x65B9;&amp;#x3067;&amp;#x753B;&amp;#x50CF;&amp;#x306B;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x8CBC;&amp;#x3089;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/layouts/application.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;%= image_tag(&amp;quot;railscasts_logo.png&amp;quot;, :size =&amp;gt; &amp;quot;423x56&amp;quot;, :alt =&amp;gt; &amp;quot;RailsCasts - Ruby on Rails Screencasts&amp;quot;) %&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x5168;&amp;#x4F53;&amp;#x3067;&amp;#x691C;&amp;#x7D22;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x9759;&amp;#x7684;&amp;#x306B;&amp;#x53C2;&amp;#x7167;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x4E0A;&amp;#x306E;&amp;#x753B;&amp;#x50CF;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x753B;&amp;#x50CF;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;Asset Pipeline&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x6A5F;&amp;#x80FD;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;Rails 3.1&amp;#x306B;&amp;#x30A2;&amp;#x30C3;&amp;#x30D7;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x4F5C;&amp;#x696D;&amp;#x306F;&amp;#x7D42;&amp;#x308F;&amp;#x308A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ED6;&amp;#x306B;&amp;#x3082;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;&amp;#x65B0;&amp;#x6A5F;&amp;#x80FD;&amp;#x304C;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x81EA;&amp;#x5206;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3064;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;Rails 3.1&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x4ED6;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3082;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x304A;&amp;#x52E7;&amp;#x3081;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 18 Sep 2011 21:10:55 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/282-upgrading-to-rails-3-1</guid>
      <link>http://ja.asciicasts.com/episodes/282-upgrading-to-rails-3-1</link>
    </item>
    <item>
      <title>Foreman</title>
      <description>&lt;p&gt;Ryan Bates&amp;#x304C;&amp;#x6700;&amp;#x8FD1;Twitter&amp;#x3067;&amp;#x3001;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x958B;&amp;#x767A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;(development mode)&amp;#x3067;&amp;#x3001;&amp;#x4F9D;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&amp;#x30D0;&amp;#x30C3;&amp;#x30AF;&amp;#x30B0;&amp;#x30E9;&amp;#x30A6;&amp;#x30F3;&amp;#x30C9;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x6700;&amp;#x5584;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x306F;&amp;#x4F55;&amp;#x304B;&amp;#x3068;&amp;#x8CEA;&amp;#x554F;&amp;#x3092;&amp;#x6295;&amp;#x3052;&amp;#x304B;&amp;#x3051;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x4F55;&amp;#x4EBA;&amp;#x304B;&amp;#x304C;&lt;a href="https://github.com/ddollar/foreman"&gt;Foreman&lt;/a&gt;&amp;#x3092;&amp;#x63A8;&amp;#x5968;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;Ryan&amp;#x306E;&lt;a href="https://github.com/ryanb/govsgo"&gt;GoVsGo&lt;/a&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x958B;&amp;#x767A;&amp;#x306B;&amp;#x5229;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x4E8B;&amp;#x524D;&amp;#x306B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x30D0;&amp;#x30C3;&amp;#x30AF;&amp;#x30B0;&amp;#x30E9;&amp;#x30A6;&amp;#x30F3;&amp;#x30C9;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x306F;&amp;#x3001;Beanstalkd&amp;#x3001;&lt;code&gt;script/worker&lt;/code&gt;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3001;Faye&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x958B;&amp;#x767A;&amp;#x3067;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3073;&amp;#x306B;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x8D77;&amp;#x52D5;&amp;#x4F5C;&amp;#x696D;&amp;#x304C;&amp;#x767A;&amp;#x751F;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x3092;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x304C;&amp;#x3042;&amp;#x308C;&amp;#x3070;&amp;#x3068;&amp;#x3066;&amp;#x3082;&amp;#x4FBF;&amp;#x5229;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x305D;&amp;#x3053;&amp;#x3067;Foreman&amp;#x306E;&amp;#x767B;&amp;#x5834;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Foreman&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3068;&amp;#x4F7F;&amp;#x7528;&lt;/h3&gt;

&lt;p&gt;Foreman&amp;#x306F;gem&amp;#x306E;&amp;#x5F62;&amp;#x3067;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ gem install foreman&lt;/pre&gt;

&lt;p&gt;Foreman&amp;#x306F;&amp;#x7BA1;&amp;#x7406;&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x3001; Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;root&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3042;&amp;#x308B;&lt;code&gt;Procfile&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304B;&amp;#x3089;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x3001;Foreman&amp;#x306B;&amp;#x7BA1;&amp;#x7406;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x3044;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8A18;&amp;#x8FF0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5404;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x306E;&amp;#x5B9A;&amp;#x7FA9;&amp;#x306F;&amp;#x3001;&amp;#x540D;&amp;#x79F0;&amp;#x3001;&amp;#x30B3;&amp;#x30ED;&amp;#x30F3;&amp;#x3001;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x540D;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x5F62;&amp;#x5F0F;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x5BFE;&amp;#x8C61;&amp;#x306E;3&amp;#x3064;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8A18;&amp;#x8FF0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Procfile&lt;/p&gt;
&lt;pre class="ruby"&gt;beanstalk:  beanstalkd
worker:     ./script/worker
faye:       rackup faye.ru -s thin -E production&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;Procfile&lt;/code&gt;&amp;#x304C;&amp;#x5B8C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x5185;&amp;#x5BB9;&amp;#x304C;&amp;#x6B63;&amp;#x5F53;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x3092;&lt;code&gt;foreman check&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x30C1;&amp;#x30A7;&amp;#x30C3;&amp;#x30AF;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ foreman check
valid procfile detected (beanstalk, worker, faye)&lt;/pre&gt;

&lt;p&gt;&amp;#x540D;&amp;#x79F0;&amp;#x3068;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&amp;#x9593;&amp;#x306E;&amp;#x533A;&amp;#x5207;&amp;#x308A;&amp;#x3092;&amp;#x30B9;&amp;#x30DA;&amp;#x30FC;&amp;#x30B9;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x30BF;&amp;#x30D6;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x3068;deprecation&amp;#x30A8;&amp;#x30E9;&amp;#x30FC;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;Procfile&lt;/code&gt;&amp;#x3092;&amp;#x8A18;&amp;#x8FF0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306F;&amp;#x7559;&amp;#x610F;&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x3044;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x6B63;&amp;#x5F53;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x78BA;&amp;#x8A8D;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x3089;&amp;#x3001;&lt;code&gt;foreman start&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;Foreman&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ foreman start
20:06:35 beanstalk.1  | started with pid 23140
20:06:35 worker.1     | started with pid 23141
20:06:35 faye.1       | started with pid 23143
20:06:36 faye.1       | &amp;gt;&amp;gt; Thin web server (v1.2.11 codename Bat-Shit Crazy)
20:06:36 faye.1       | &amp;gt;&amp;gt; Maximum connections set to 1024
20:06:36 faye.1       | &amp;gt;&amp;gt; Listening on 0.0.0.0:9292, CTRL+C to stop
20:06:38 worker.1     | [2011-08-29 20:06:38 +0100] Working 1 jobs: [ Game.move ]&lt;/pre&gt;

&lt;p&gt;&amp;#x3059;&amp;#x308B;&amp;#x3068;&lt;code&gt;Procfile&lt;/code&gt;&amp;#x3067;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x305F;&amp;#x5404;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x51FA;&amp;#x529B;&amp;#x3068;&amp;#x4E00;&amp;#x7DD2;&amp;#x306B;&amp;#x30BF;&amp;#x30FC;&amp;#x30DF;&amp;#x30CA;&amp;#x30EB;&amp;#x306B;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30BF;&amp;#x30FC;&amp;#x30DF;&amp;#x30CA;&amp;#x30EB;&amp;#x30A6;&amp;#x30A4;&amp;#x30F3;&amp;#x30C9;&amp;#x30A6;&amp;#x3067;&lt;code&gt;CTRL+C&lt;/code&gt;&amp;#x3092;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x304C;&amp;#x505C;&amp;#x6B62;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;Foreman&amp;#x306B;&amp;#x306F;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;&lt;a href="http://ddollar.github.com/foreman/"&gt;&amp;#x30DE;&amp;#x30CB;&amp;#x30E5;&amp;#x30A2;&amp;#x30EB;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&lt;/a&gt;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x6A5F;&amp;#x80FD;&amp;#x3084;&amp;#x6307;&amp;#x5B9A;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x8AAC;&amp;#x660E;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;1&amp;#x3064;&amp;#x3060;&amp;#x3051;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x305D;&amp;#x306E;&amp;#x540D;&amp;#x79F0;&amp;#x3092;&amp;#x76F4;&amp;#x63A5;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;pre class="terminal"&gt;$ foreman start faye
20:35:41 faye.1       | started with pid 23322
20:35:41 faye.1       | &amp;gt;&amp;gt; Thin web server (v1.2.11 codename Bat-Shit Crazy)
20:35:41 faye.1       | &amp;gt;&amp;gt; Maximum connections set to 1024
20:35:41 faye.1       | &amp;gt;&amp;gt; Listening on 0.0.0.0:9292, CTRL+C to stop&lt;/pre&gt;

&lt;p&gt;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x306E;&amp;#x30B3;&amp;#x30D4;&amp;#x30FC;&amp;#x3092;&amp;#x8907;&amp;#x6570;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&lt;code&gt;-c&lt;/code&gt;&amp;#x30D5;&amp;#x30E9;&amp;#x30B0;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;4&amp;#x3064;&amp;#x306E;worker&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&lt;code&gt;foreman start -c worker=4&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ foreman start -c worker=4
20:39:41 beanstalk.1  | started with pid 23366
20:39:41 worker.1     | started with pid 23368
20:39:41 worker.2     | started with pid 23370
20:39:41 worker.3     | started with pid 23372
20:39:41 worker.4     | started with pid 23374
20:39:41 faye.1       | started with pid 23376
20:39:42 faye.1       | &amp;gt;&amp;gt; Thin web server (v1.2.11 codename Bat-Shit Crazy)
20:39:42 faye.1       | &amp;gt;&amp;gt; Maximum connections set to 1024
20:39:42 faye.1       | &amp;gt;&amp;gt; Listening on 0.0.0.0:9292, CTRL+C to stop
20:39:46 worker.3     | [2011-08-29 20:39:46 +0100] Working 1 jobs: [ Game.move ]
20:39:46 worker.1     | [2011-08-29 20:39:46 +0100] Working 1 jobs: [ Game.move ]
20:39:46 worker.2     | [2011-08-29 20:39:46 +0100] Working 1 jobs: [ Game.move ]
20:39:47 worker.4     | [2011-08-29 20:39:47 +0100] Working 1 jobs: [ Game.move ]&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x304C;1&amp;#x56DE;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x308C;&amp;#x3001;worker&amp;#x306E;&amp;#x307F;4&amp;#x56DE;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x30A8;&amp;#x30AF;&amp;#x30B9;&amp;#x30DD;&amp;#x30FC;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;Foreman&amp;#x306B;&amp;#x306F;&lt;code&gt;export&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x672C;&amp;#x756A;&amp;#x306E;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3067;&amp;#x4F7F;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30DE;&amp;#x30C3;&amp;#x30C8;&amp;#x3067;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x30A8;&amp;#x30AF;&amp;#x30B9;&amp;#x30DD;&amp;#x30FC;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x4FBF;&amp;#x5229;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x73FE;&amp;#x5728;&amp;#x306F;&lt;code&gt;inittab&lt;/code&gt;&amp;#x3068;&lt;code&gt;upstart&lt;/code&gt;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30DE;&amp;#x30C3;&amp;#x30C8;&amp;#x304C;&amp;#x30B5;&amp;#x30DD;&amp;#x30FC;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;foreman export upstart .&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;Foreman&amp;#x304C;&amp;#x30AB;&amp;#x30EC;&amp;#x30F3;&amp;#x30C8;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;upstart &amp;#x7528;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x66F8;&amp;#x304D;&amp;#x51FA;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x4E00;&amp;#x3064;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&lt;code&gt;beanstalkd&lt;/code&gt;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x30ED;&amp;#x30B0;&amp;#x3092;&amp;#x51E6;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/govsgo-beanstalk-1.conf&lt;/p&gt;
&lt;pre class="terminal"&gt;start on starting govsgo-beanstalk
stop on stopping govsgo-beanstalk
respawn

exec su - govsgo -c &amp;#x27;cd /Users/eifion/govsgo; export PORT=5000; beanstalkd &amp;gt;&amp;gt; /var/log/govsgo/beanstalk-1.log 2&amp;gt;&amp;amp;1&amp;#x27;&lt;/pre&gt;

&lt;p&gt;Foreman&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306F;&amp;#x3044;&amp;#x3064;&amp;#x3082;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x77ED;&amp;#x3081;&amp;#x3067;&amp;#x3057;&amp;#x305F;&amp;#x304C;&amp;#x3001;Foreman&amp;#x306F;&amp;#x7279;&amp;#x5B9A;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x3092;&amp;#x89E3;&amp;#x6C7A;&amp;#x3059;&amp;#x308B;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x306A;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4ED5;&amp;#x4E8B;&amp;#x3092;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x3053;&amp;#x306A;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x3001;&amp;#x958B;&amp;#x767A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x7A3C;&amp;#x50CD;&amp;#x72B6;&amp;#x614B;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x3082;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x305B;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x306F;&amp;#x3001;Foreman&amp;#x306E;&amp;#x5229;&amp;#x7528;&amp;#x3092;&amp;#x691C;&amp;#x8A0E;&amp;#x3059;&amp;#x308B;&amp;#x4FA1;&amp;#x5024;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 04 Sep 2011 20:59:59 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/281-foreman</guid>
      <link>http://ja.asciicasts.com/episodes/281-foreman</link>
    </item>
    <item>
      <title>Rails&#12391;Pry</title>
      <description>&lt;p&gt;&lt;a href="http://pry.github.com/"&gt;Pry&lt;/a&gt;&amp;#x306F;IRB&amp;#x306E;&amp;#x4EE3;&amp;#x66FF;&amp;#x3068;&amp;#x306A;&amp;#x308B;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x3001; IRB&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;Ruby&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30F3;&amp;#x30D7;&amp;#x30C8;&amp;#x3092;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;IRB&amp;#x3068;&amp;#x6BD4;&amp;#x8F03;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x4ED8;&amp;#x52A0;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;Pry&amp;#x306E;&amp;#x3057;&amp;#x304F;&amp;#x307F;&amp;#x3068;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x7D71;&amp;#x5408;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;Pry&amp;#x306F;gem&amp;#x3067;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x306F;&amp;#x7C21;&amp;#x5358;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;code&gt;pry-doc&lt;/code&gt; gem&amp;#x3082;&amp;#x4E00;&amp;#x7DD2;&amp;#x306B;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x5F8C;&amp;#x307B;&amp;#x3069;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ gem install pry pry-doc&lt;/pre&gt;

&lt;p&gt;RVM gemset&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;gemset&amp;#x304B;&amp;#x3089;&amp;#x4F7F;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x5F62;&amp;#x3067;Pry&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x6B21;&amp;#x306E;2&amp;#x3064;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rvm gemset use global
$ gem install pry pry-doc&lt;/pre&gt;

&lt;p&gt;Pry&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x3089;&lt;code&gt;pry&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x3001;&lt;code&gt;irb&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&amp;#x304A;&amp;#x3053;&amp;#x306A;&amp;#x3046;&amp;#x306E;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;Ruby&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ pry
pry(main)&amp;gt; 1 + 2
=&amp;gt; 3&lt;/pre&gt;

&lt;p&gt;Pry&amp;#x306F;&amp;#x5358;&amp;#x306A;&amp;#x308B;&amp;#x96FB;&amp;#x5353;&amp;#x4EE5;&amp;#x4E0A;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x6A5F;&amp;#x80FD;&amp;#x306E;&amp;#x8AAC;&amp;#x660E;&amp;#x306E;&amp;#x524D;&amp;#x306B;&amp;#x3001;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304B;&amp;#x3089;&amp;#x5229;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x3001;&amp;#x4ECA;&amp;#x307E;&amp;#x3067;&amp;#x3082;&amp;#x4F55;&amp;#x56DE;&amp;#x304B;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x305F;&amp;#x304A;&amp;#x306A;&amp;#x3058;&amp;#x307F;&amp;#x306E;&amp;#x30D6;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/727/original/E280I01.png" width="815" height="452" alt="&#12502;&#12525;&#12464;&#12450;&#12503;&#12522;&#12465;&#12540;&#12471;&#12519;&#12531;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304B;&amp;#x3089;&lt;code&gt;rails c&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;IRB&amp;#x304C;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;Pry&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;Rails&amp;#x306E;environment&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&lt;code&gt;pry&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x6A19;&amp;#x6E96;&amp;#x306E;Rails&amp;#x30B3;&amp;#x30F3;&amp;#x30BD;&amp;#x30FC;&amp;#x30EB;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ pry -r ./config/environment
pry(main)&amp;gt; Article.count
=&amp;gt; 3&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;Pry&amp;#x306E;&amp;#x6E96;&amp;#x5099;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;help&lt;/code&gt;&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;Pry&amp;#x304C;&amp;#x30B5;&amp;#x30DD;&amp;#x30FC;&amp;#x30C8;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&amp;#x4E00;&amp;#x89A7;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3063;&amp;#x3068;&amp;#x3082;&amp;#x3088;&amp;#x304F;&amp;#x4F7F;&amp;#x3046;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&lt;code&gt;cd&lt;/code&gt;&amp;#x3068;&lt;code&gt;ls&lt;/code&gt;&amp;#x306E;2&amp;#x3064;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;code&gt;cd&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x3092;&amp;#x5909;&amp;#x66F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;cd Article&lt;/code&gt;&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x3068;&lt;code&gt;Article&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x5185;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x3001;&lt;code&gt;self&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3044;&amp;#x3064;&amp;#x3067;&amp;#x3082;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(main)&amp;gt; cd Article
pry(#&amp;lt;Class:0x1022f60e0&amp;gt;):1&amp;gt; self
=&amp;gt; Article(id: integer, name: string, content: text, created_at: datetime, updated_at: datetime, published_at: datetime)&lt;/pre&gt;

&lt;p&gt;Article&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x5185;&amp;#x306B;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x3069;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3067;&amp;#x3082;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;first&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x6700;&amp;#x521D;&amp;#x306E;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306F;&lt;code&gt;Article.first&lt;/code&gt;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x610F;&amp;#x5473;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(#&amp;lt;Class:0x1022f60e0&amp;gt;):1&amp;gt; first
=&amp;gt; #&amp;lt;Article id: 1, name: &amp;quot;What is Music&amp;quot;, content: &amp;quot;Music is an art form in which the medium is sound o...&amp;quot;, created_at: &amp;quot;2011-08-24 20:35:29&amp;quot;, updated_at: &amp;quot;2011-08-24 20:37:22&amp;quot;, published_at: &amp;quot;2011-05-13 23:00:00&amp;quot;&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x307E;&amp;#x305F;&amp;#x3042;&amp;#x3089;&amp;#x3086;&amp;#x308B;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306B;&lt;code&gt;cd&lt;/code&gt;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;Article&lt;/code&gt;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x5185;&amp;#x3067;&lt;code&gt;cd first&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x305D;&amp;#x306E;&amp;#x8A18;&amp;#x4E8B;&amp;#x306B;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x304C;&amp;#x79FB;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x307E;&amp;#x305F;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3084;&amp;#x30D7;&amp;#x30ED;&amp;#x30D1;&amp;#x30C6;&amp;#x30A3;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;name&lt;/code&gt;&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(#&amp;lt;Class:0x1022f60e0&amp;gt;):1&amp;gt; cd first
pry(#&amp;lt;Article:0x102300c98&amp;gt;):2&amp;gt; name
=&amp;gt; &amp;quot;What is Music&amp;quot;&lt;/pre&gt;

&lt;p&gt;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&lt;code&gt;name&lt;/code&gt;&amp;#x306B;&lt;code&gt;cd&lt;/code&gt;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x306E;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;pre class="terminal"&gt;pry(#&amp;lt;Article:0x102300c98&amp;gt;):2&amp;gt; cd name
pry(&amp;quot;What is Music&amp;quot;):3&amp;gt; upcase
=&amp;gt; &amp;quot;WHAT IS MUSIC&amp;quot;&lt;/pre&gt;

&lt;p&gt;Pry&amp;#x306F;&amp;#x79FB;&amp;#x52D5;&amp;#x306E;&amp;#x5C65;&amp;#x6B74;&amp;#x3092;&amp;#x899A;&amp;#x3048;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x3001;nesting&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x53C2;&amp;#x7167;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(&amp;quot;What is Music&amp;quot;):3&amp;gt; nesting
Nesting status:
--
0. main (Pry top level)
1. #&amp;lt;Class:0x1022f60e0&amp;gt;
2. #&amp;lt;Article:0x102300c98&amp;gt;
3. &amp;quot;What is Music&amp;quot;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x307E;&amp;#x3067;&amp;#x306B;&amp;#x8A2A;&amp;#x308C;&amp;#x305F;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;exit&lt;/code&gt;&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x76F4;&amp;#x524D;&amp;#x306B;&amp;#x3044;&amp;#x305F;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x623B;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x6700;&amp;#x521D;&amp;#x306E;&amp;#x8A18;&amp;#x4E8B;&amp;#x306B;&amp;#x623B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x518D;&amp;#x5EA6;exit&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&lt;code&gt;Article&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306B;&amp;#x623B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3063;&amp;#x3068;&amp;#x3082;&amp;#x3088;&amp;#x304F;&amp;#x4F7F;&amp;#x7528;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3082;&amp;#x3046;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&lt;code&gt;ls&lt;/code&gt;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x5909;&amp;#x6570;&amp;#x3068;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x5909;&amp;#x6570;&amp;#x3092;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&lt;code&gt;Article&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x3044;&amp;#x305F;&amp;#x3068;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x4E00;&amp;#x89A7;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(#&amp;lt;Class:0x1022f60e0&amp;gt;):1&amp;gt; ls
[:_, :_pry_, :inp, :out, :@_create_callbacks, :@_defined_class_methods, :@_save_callbacks, :@_update_callbacks, :@_validate_callbacks, :@arel_engine, :@arel_table, :@attribute_methods_generated, :@cached_attributes, :@column_names, :@columns, :@columns_hash, :@finder_needs_type_condition, :@generated_attribute_methods, :@inheritable_attributes, :@inheritance_column, :@parent_name, :@quoted_primary_key, :@quoted_table_name, :@relation]&lt;/pre&gt;

&lt;p&gt;Pry&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x30D5;&amp;#x30E9;&amp;#x30B0;&amp;#x3092;&amp;#x30B5;&amp;#x30DD;&amp;#x30FC;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x3082;&amp;#x306E;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306F;&lt;code&gt;-h&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x3064;&amp;#x3051;&amp;#x3066;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&amp;#x30D5;&amp;#x30E9;&amp;#x30B0;&amp;#x306E;&amp;#x4E00;&amp;#x89A7;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;ls -h&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30B5;&amp;#x30DD;&amp;#x30FC;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&lt;code&gt;-m&lt;/code&gt;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x304C;&amp;#x6301;&amp;#x3064;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3001;&lt;code&gt;-M&lt;/code&gt;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x306E;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3084;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x3092;&amp;#x6E21;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x304C;&amp;#x6301;&amp;#x3064;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3046;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306E;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;Pry&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&lt;code&gt;show-doc&lt;/code&gt;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&lt;code&gt;Array&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306E;&lt;code&gt;in_groups_of&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x52D5;&amp;#x4F5C;&amp;#x3092;&amp;#x77E5;&amp;#x308A;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306F;&lt;code&gt;show-doc Array#in_groups_of&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x8ABF;&amp;#x3079;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(#&amp;lt;Class:0x1022f60e0&amp;gt;):1&amp;gt; show-doc Array#in_groups_of

From: /Users/eifion/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.10/lib/active_support/core_ext/array/grouping.rb @ line 19:
Number of lines: 15

signature: in_groups_of(number, fill_with=?)

Splits or iterates over the array in groups of size number,
padding any remaining slots with fill_with unless it is false.

  %w(1 2 3 4 5 6 7).in_groups_of(3) {|group| p group}
  [&amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;, &amp;quot;3&amp;quot;]
  [&amp;quot;4&amp;quot;, &amp;quot;5&amp;quot;, &amp;quot;6&amp;quot;]
  [&amp;quot;7&amp;quot;, nil, nil]

  %w(1 2 3).in_groups_of(2, &amp;#x27;&amp;amp;nbsp;&amp;#x27;) {|group| p group}
  [&amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;]
  [&amp;quot;3&amp;quot;, &amp;quot;&amp;amp;nbsp;&amp;quot;]

  %w(1 2 3).in_groups_of(2, false) {|group| p group}
  [&amp;quot;1&amp;quot;, &amp;quot;2&amp;quot;]
  [&amp;quot;3&amp;quot;]&lt;/pre&gt;
  
  &lt;p&gt;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x76F4;&amp;#x63A5;&lt;code&gt;show-doc&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30D7;&amp;#x306F;&lt;code&gt;Article&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;all&lt;/code&gt;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x914D;&amp;#x5217;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;show-doc all.in_groups_of&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x3001;&amp;#x4E0A;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C6;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3046;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x306E;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&lt;code&gt;show-method&lt;/code&gt;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&amp;#x3042;&amp;#x3089;&amp;#x3086;&amp;#x308B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&lt;code&gt;in_groups_of&lt;/code&gt;&amp;#x306E;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;(&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x5FF5;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x89E6;&amp;#x308C;&amp;#x3066;&amp;#x304A;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;Pry&amp;#x306B;&amp;#x306F;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&amp;#x5165;&amp;#x529B;&amp;#x6642;&amp;#x306B;&amp;#x81EA;&amp;#x52D5;&amp;#x88DC;&amp;#x5B8C;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x30BF;&amp;#x30D6;&amp;#x30AD;&amp;#x30FC;&amp;#x3092;&amp;#x62BC;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;)&lt;/p&gt;  

&lt;pre class="terminal"&gt;pry(#&amp;lt;Class:0x104e63de0&amp;gt;):1&amp;gt; show-method all.in_groups_of

From: /Users/eifion/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.10/lib/active_support/core_ext/array/grouping.rb @ line 19:
Number of lines: 19

def in_groups_of(number, fill_with = nil)
  if fill_with == false
    collection = self
  else
    # size % number gives how many extra we have;
    # subtracting from number gives how many to add;
    # modulo number ensures we don&amp;#x27;t add group of just fill.
    padding = (number - size % number) % number
    collection = dup.concat([fill_with] * padding)
  end

  if block_given?
    collection.each_slice(number) { |slice| yield(slice) }
  else
    groups = []
    collection.each_slice(number) { |group| groups &amp;lt;&amp;lt; group }
    groups
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x307E;&amp;#x305F;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3068;&amp;#x4F3C;&amp;#x305F;&lt;code&gt;edit-method&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x95A2;&amp;#x9023;&amp;#x3059;&amp;#x308B;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x3067;&amp;#x958B;&amp;#x304D;&amp;#x3001;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;&amp;#x884C;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&amp;#x524D;&amp;#x306B;&amp;#x30D4;&amp;#x30EA;&amp;#x30AA;&amp;#x30C9;&amp;#x3092;&amp;#x3064;&amp;#x3051;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x30B7;&amp;#x30A7;&amp;#x30EB;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;Pry&amp;#x306E;&amp;#x4E2D;&amp;#x3067;&lt;code&gt;.ls&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30B7;&amp;#x30A7;&amp;#x30EB;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306E;&lt;code&gt;ls&lt;/code&gt;&amp;#x304C;&amp;#x5B9F;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x30AB;&amp;#x30EC;&amp;#x30F3;&amp;#x30C8;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;Pry&amp;#x306F;&amp;#x30C7;&amp;#x30D0;&amp;#x30C3;&amp;#x30B0;&amp;#x6642;&amp;#x306B;&amp;#x3082;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;Article&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&lt;code&gt;word_count&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&lt;code&gt;content&lt;/code&gt;&amp;#x306B;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x5358;&amp;#x8A9E;&amp;#x306E;&amp;#x6570;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x306F;&amp;#x30D0;&amp;#x30B0;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;content&amp;#x304C;&amp;#x4F55;&amp;#x3067;&amp;#x3042;&amp;#x3063;&amp;#x3066;&amp;#x3082;&amp;#x5E38;&amp;#x306B;&lt;code&gt;0&lt;/code&gt;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x8ABF;&amp;#x3079;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x6700;&amp;#x521D;&amp;#x306E;&lt;code&gt;Article&lt;/code&gt;&amp;#x306B;&lt;code&gt;cd&lt;/code&gt;&amp;#x3057;&amp;#x3066;&amp;#x3001;&lt;code&gt;edit-method word_count&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x3068;&amp;#x304A;&amp;#x308A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="codeFilePath"&gt;/app/models/article.rb&lt;/pre&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments

  def word_count
    words = content.scan(/\\w+/)
    words.size
  end
end&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;binding.pry&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x4EFB;&amp;#x610F;&amp;#x306E;&amp;#x5834;&amp;#x6240;&amp;#x306B;&amp;#x30D6;&amp;#x30EC;&amp;#x30A4;&amp;#x30AF;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4E0A;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&lt;code&gt;words.size&lt;/code&gt;&amp;#x306E;&amp;#x884C;&amp;#x306E;&amp;#x76F4;&amp;#x524D;&amp;#x306B;&amp;#x30D6;&amp;#x30EC;&amp;#x30A4;&amp;#x30AF;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FDD;&amp;#x5B58;&amp;#x3057;&amp;#x3066;&lt;code&gt;word_count&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3068;&amp;#x3001;&lt;code&gt;binding.pry&lt;/code&gt;&amp;#x306E;&amp;#x5834;&amp;#x6240;&amp;#x3067;&amp;#x505C;&amp;#x6B62;&amp;#x3057;&amp;#x3066;Pry&amp;#x30D7;&amp;#x30ED;&amp;#x30F3;&amp;#x30D7;&amp;#x30C8;&amp;#x306B;&amp;#x623B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;&amp;gt; word_count

From: /Users/eifion/blog/app/models/article.rb @ line 7 in Article#word_count:

     2:   attr_accessible :name, :content, :published_at
     3:   has_many :comments
     4: 
     5:   def word_count
     6:     words = content.scan(/\\w+/)
 =&amp;gt;  7:     binding.pry
     8:     words.size
     9:   end
    10: end&lt;/pre&gt;
    
&lt;p&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30AB;&amp;#x30EB;&amp;#x5909;&amp;#x6570;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;words&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3068;&lt;code&gt;words&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x914D;&amp;#x5217;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(#&amp;lt;Article:0x1008c3f38&amp;gt;):3&amp;gt; words
=&amp;gt; []&lt;/pre&gt;

&lt;p&gt;&amp;#x914D;&amp;#x5217;&amp;#x306F;&amp;#x7A7A;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5185;&amp;#x5BB9;&amp;#x3092;&amp;#x30B9;&amp;#x30AD;&amp;#x30E3;&amp;#x30F3;&amp;#x3059;&amp;#x308B;&amp;#x6B63;&amp;#x898F;&amp;#x8868;&amp;#x73FE;&amp;#x306B;&amp;#x4F55;&amp;#x304B;&amp;#x554F;&amp;#x984C;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3068;&amp;#x601D;&amp;#x308F;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x8ABF;&amp;#x3079;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30D0;&amp;#x30C3;&amp;#x30AF;&amp;#x30B9;&amp;#x30E9;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x304C;1&amp;#x3064;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3079;&amp;#x304D;&amp;#x3068;&amp;#x3053;&amp;#x308D;&amp;#x304C;2&amp;#x3064;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x518D;&amp;#x5EA6;&lt;code&gt;edit-method word_count&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3001;&amp;#x6B63;&amp;#x898F;&amp;#x8868;&amp;#x73FE;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3001;&lt;code&gt;binding.pry&lt;/code&gt;&amp;#x306E;&amp;#x884C;&amp;#x3092;&amp;#x524A;&amp;#x9664;&amp;#x3057;&amp;#x3066;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FDD;&amp;#x5B58;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments

  def word_count
    words = content.scan(/\w+/)
    words.size
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x4FEE;&amp;#x6B63;&amp;#x90E8;&amp;#x5206;&amp;#x3092;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x518D;&amp;#x5EA6;&lt;code&gt;word_count&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x4ECA;&amp;#x5EA6;&amp;#x306F;&amp;#x671F;&amp;#x5F85;&amp;#x901A;&amp;#x308A;&amp;#x306B;&amp;#x52D5;&amp;#x4F5C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;pry(#&amp;lt;Article:0x1008c3f38&amp;gt;):3&amp;gt; word_count
=&amp;gt; 55&lt;/pre&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x5C64;&amp;#x3084;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x5C64;&amp;#x306E;&amp;#x4F55;&amp;#x304B;&amp;#x3092;&amp;#x30C7;&amp;#x30D0;&amp;#x30C3;&amp;#x30B0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306F;&amp;#x30B3;&amp;#x30F3;&amp;#x30BD;&amp;#x30FC;&amp;#x30EB;&amp;#x7D4C;&amp;#x7531;&amp;#x3067;&amp;#x306A;&amp;#x304F;&amp;#x4F5C;&amp;#x696D;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3082;Pry&amp;#x304C;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;Pry&amp;#x3078;&amp;#x306E;&amp;#x53C2;&amp;#x7167;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;source &amp;#x27;http://rubygems.org&amp;#x27;

gem &amp;#x27;rails&amp;#x27;, &amp;#x27;3.0.10&amp;#x27;
gem &amp;#x27;sqlite3&amp;#x27;
gem &amp;#x27;nifty-generators&amp;#x27;
gem &amp;#x27;pry&amp;#x27;, :group =&amp;gt; :development&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;bundle&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;gem&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x3001;&lt;code&gt;rails s&lt;/code&gt;&amp;#x3067;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x306E;&amp;#x3069;&amp;#x3053;&amp;#x306B;&amp;#x3067;&amp;#x3082;&lt;code&gt;binding.pry&lt;/code&gt;&amp;#x306E;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x30D6;&amp;#x30EC;&amp;#x30A4;&amp;#x30AF;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/articles_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def index
  @articles = Article.all
  binding.pry
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30D7;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x3067;&amp;#x305D;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x958B;&amp;#x304F;&amp;#x3068;&amp;#x3001;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x304C;&amp;#x9014;&amp;#x4E2D;&amp;#x3067;&amp;#x4E2D;&amp;#x65AD;&amp;#x3057;&amp;#x3001;&amp;#x4E00;&amp;#x65B9;&amp;#x30BF;&amp;#x30FC;&amp;#x30DF;&amp;#x30CA;&amp;#x30EB;&amp;#x3067;&amp;#x306F;&amp;#x305D;&amp;#x306E;&amp;#x30D6;&amp;#x30EC;&amp;#x30A4;&amp;#x30AF;&amp;#x30DD;&amp;#x30A4;&amp;#x30F3;&amp;#x30C8;&amp;#x3067;&amp;#x505C;&amp;#x6B62;&amp;#x3057;&amp;#x305F;&amp;#x72B6;&amp;#x614B;&amp;#x306E;Pry&amp;#x30D7;&amp;#x30ED;&amp;#x30F3;&amp;#x30D7;&amp;#x30C8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3067;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&amp;#x30ED;&amp;#x30FC;&amp;#x30AB;&amp;#x30EB;&amp;#x5909;&amp;#x6570;&amp;#x3084;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x5909;&amp;#x6570;&amp;#x3092;&amp;#x691C;&amp;#x67FB;(inspect)&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F5C;&amp;#x696D;&amp;#x304C;&amp;#x7D42;&amp;#x308F;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x3001;&lt;code&gt;exit-all&lt;/code&gt;&amp;#x3068;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;&amp;#x3057;&amp;#x3066;&amp;#x30EA;&amp;#x30AF;&amp;#x30A8;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x5B8C;&amp;#x4E86;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;pre class="terminal"&gt;From: /Users/eifion/blog/app/controllers/articles_controller.rb @ line 4 in ArticlesController#index:

     1: class ArticlesController &amp;lt; ApplicationController
     2:   def index
     3:     @articles = Article.all
 =&amp;gt;  4:     binding.pry
     5:   end
     6: 
     7:   def show
     8:     @article = Article.find(params[:id])
     9:   end&lt;/pre&gt;
     
&lt;p&gt;Pry&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3068;&amp;#x3066;&amp;#x3082;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;gem&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x304D;&amp;#x308C;&amp;#x306A;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;a href="https://github.com/pry/pry/wiki"&gt;wiki&lt;/a&gt;&amp;#x306B;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306E;&amp;#x8AAC;&amp;#x660E;&amp;#x3084;&amp;#x3001;Joshua Cheek&amp;#x306B;&amp;#x3088;&amp;#x308B;&amp;#x975E;&amp;#x5E38;&amp;#x306B;&amp;#x53C2;&amp;#x8003;&amp;#x306B;&amp;#x306A;&amp;#x308B;&lt;a href="http://vimeo.com/26391171"&gt;&amp;#x30B9;&amp;#x30AF;&amp;#x30EA;&amp;#x30FC;&amp;#x30F3;&amp;#x30AD;&amp;#x30E3;&amp;#x30B9;&amp;#x30C8;&lt;/a&gt;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 18 Sep 2011 21:07:22 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/280-pry-with-rails</guid>
      <link>http://ja.asciicasts.com/episodes/280-pry-with-rails</link>
    </item>
    <item>
      <title>Asset Pipeline&#12434;&#29702;&#35299;&#12377;&#12427;</title>
      <description>&lt;p&gt;Asset Pipeline&amp;#x306F;Rails 3.1&amp;#x306E;&amp;#x3082;&amp;#x3063;&amp;#x3068;&amp;#x3082;&amp;#x5927;&amp;#x304D;&amp;#x306A;&amp;#x65B0;&amp;#x6A5F;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x540C;&amp;#x6642;&amp;#x306B;&amp;#x3082;&amp;#x3063;&amp;#x3068;&amp;#x3082;&amp;#x6DF7;&amp;#x4E71;&amp;#x3057;&amp;#x3084;&amp;#x3059;&amp;#x3044;&amp;#x6A5F;&amp;#x80FD;&amp;#x3067;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x3053;&amp;#x306E;Asset Pipeline&amp;#x304C;&amp;#x3069;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x304B;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x5C11;&amp;#x3057;&amp;#x305D;&amp;#x306E;&amp;#x795E;&amp;#x79D8;&amp;#x6027;&amp;#x3092;&amp;#x53D6;&amp;#x308A;&amp;#x9664;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x601D;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;Asset Pipeline&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x307E;&amp;#x3063;&amp;#x305F;&amp;#x304F;&amp;#x77E5;&amp;#x8B58;&amp;#x304C;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&lt;a href="http://ryanbigg.com/guides/asset_pipeline.html"&gt;Rails Guide&amp;#x306E;Asset Pipeline&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&lt;/a&gt;&amp;#x304C;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x307E;&amp;#x305A;&amp;#x305D;&amp;#x3053;&amp;#x304B;&amp;#x3089;&amp;#x59CB;&amp;#x3081;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Rails 3.1&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x66F8;&amp;#x3044;&amp;#x305F;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x65B9;&amp;#x306A;&amp;#x3089;&amp;#x3001;&lt;code&gt;&lt;a href="http://localhost:3000/assets/application.js"&gt;http://localhost:3000/assets/application.js&lt;/a&gt;&lt;/code&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;JavaScript&amp;#x3092;&amp;#x542B;&amp;#x3093;&amp;#x3060;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x3054;&amp;#x5B58;&amp;#x77E5;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3069;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x4ED5;&amp;#x7D44;&amp;#x307F;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;? &lt;/p&gt;

&lt;p&gt;&lt;code&gt;application.js&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&amp;#x4F55;&amp;#x3082;&amp;#x7279;&amp;#x5225;&amp;#x306A;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;code&gt;/app/assets/javascripts&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;&amp;#x7F6E;&amp;#x304B;&amp;#x308C;&amp;#x305F;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3082;&amp;#x540C;&amp;#x3058;&amp;#x304F;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x3082;&amp;#x3057;&amp;#x305D;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;greeting.txt&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x3067;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&lt;a href="http://localhost:3000/assets/greeting.txt"&gt;&lt;code&gt;http://localhost:3000/assets/greeting.txt&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x3066;&amp;#x4E2D;&amp;#x8EAB;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&lt;code&gt;/app/assets/javascripts&lt;/code&gt;&amp;#x306B;&amp;#x3042;&amp;#x3063;&amp;#x305F;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x3001;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;URL&amp;#x306F;&lt;code&gt;/assets/greeting.txt&lt;/code&gt;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3001;&lt;code&gt;/app/assets&lt;/code&gt;&amp;#x306E;&amp;#x4E0B;&amp;#x306E;&amp;#x3069;&amp;#x306E;&amp;#x30B5;&amp;#x30D6;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x7F6E;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x540C;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4EFB;&amp;#x610F;&amp;#x306E;&amp;#x65B0;&amp;#x898F;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x7F6E;&amp;#x3044;&amp;#x305F;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x3001;&amp;#x540C;&amp;#x3058;URL&amp;#x304B;&amp;#x3089;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x305F;&amp;#x3060;&amp;#x3057;&amp;#x65B0;&amp;#x898F;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x518D;&amp;#x8D77;&amp;#x52D5;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x5834;&amp;#x6240;&amp;#x306F;&lt;code&gt;/app/assets&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3060;&amp;#x3051;&amp;#x3067;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;code&gt;/lib&lt;/code&gt;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;assets&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x3001;&amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x3001;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x306E;&lt;code&gt;/app/assets&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x7F6E;&amp;#x3044;&amp;#x305F;&amp;#x304B;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x53EF;&amp;#x80FD;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&lt;code&gt;/vendor/assets&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x4E0B;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x3082;&amp;#x5F53;&amp;#x3066;&amp;#x306F;&amp;#x307E;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x56FA;&amp;#x6709;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x6C4E;&amp;#x7528;&amp;#x7684;&amp;#x306A;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x3001;&lt;code&gt;/lib&lt;/code&gt;&amp;#x304B;&lt;code&gt;/vendor&lt;/code&gt;&amp;#x306E;&amp;#x4E0B;&amp;#x306E;assets&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x3092;&amp;#x7F6E;&amp;#x304F;&amp;#x306E;&amp;#x304C;&amp;#x7406;&amp;#x60F3;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;jQuery&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x3001;&amp;#x305D;&amp;#x306E;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x3001;&amp;#x5225;&amp;#x306E;&amp;#x4EBA;&amp;#x304C;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x306E;&amp;#x3067;&lt;code&gt;/vendor/assets&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3092;&amp;#x7F6E;&amp;#x304F;&amp;#x306E;&amp;#x304C;&amp;#x9069;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x81EA;&amp;#x5206;&amp;#x3067;&amp;#x7BA1;&amp;#x7406;&amp;#x306F;&amp;#x3059;&amp;#x308B;&amp;#x304C;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x56FA;&amp;#x6709;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x3001;&lt;code&gt;/lib&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x7F6E;&amp;#x304F;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3082;&amp;#x3063;&amp;#x3068;&amp;#x3082;&amp;#x57FA;&amp;#x672C;&amp;#x7684;&amp;#x306A;&amp;#x90E8;&amp;#x5206;&amp;#x3067;&amp;#x306F;&amp;#x3001;Asset Pipeline&amp;#x306F;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x30D1;&amp;#x30B9;&amp;#x306E;&amp;#x4E00;&amp;#x89A7;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30BD;&amp;#x30FC;&amp;#x30EB;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&lt;code&gt;Rails.application.config.assets.paths&lt;/code&gt;&amp;#x3092;&amp;#x898B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x51FA;&amp;#x529B;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x3084;&amp;#x3059;&amp;#x304F;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;YAML&amp;#x5F62;&amp;#x5F0F;&amp;#x3067;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;
&lt;pre class="terminal"&gt;&amp;gt; y Rails.application.config.assets.paths
--- 
- /Users/eifion/store/app/assets/images
- /Users/eifion/store/app/assets/javascripts
- /Users/eifion/store/app/assets/stylesheets
- /Users/eifion/store/lib/assets/greeting.txt
- /Users/eifion/store/vendor/assets/stylesheets
- /Users/eifion/.rvm/gems/ruby-1.9.2-p180@railspre/gems/jquery-rails-1.0.13/vendor/assets/javascripts&lt;/pre&gt;

&lt;p&gt;&amp;#x51FA;&amp;#x529B;&amp;#x306B;&amp;#x306F;&amp;#x3001;&lt;code&gt;app/assets&lt;/code&gt;&amp;#x3001;&lt;code&gt;/lib/assets&lt;/code&gt;&amp;#x3001;&lt;code&gt;/vendor/assets&lt;/code&gt; &amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x306E;&amp;#x6700;&amp;#x5F8C;&amp;#x306B;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x542B;&amp;#x3093;&amp;#x3060;&lt;code&gt;jquery-rails&lt;/code&gt; gem&amp;#x306B;&amp;#x7531;&amp;#x6765;&amp;#x3059;&amp;#x308B;&amp;#x8208;&amp;#x5473;&amp;#x6DF1;&amp;#x3044;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;bundle open&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x8EAB;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ bundle open jquery-rails&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306F;&amp;#x3001;&amp;#x30B7;&amp;#x30A7;&amp;#x30EB;&amp;#x306E;&amp;#x74B0;&amp;#x5883;&amp;#x5909;&amp;#x6570;&amp;#x306E;&lt;code&gt;BUNDLER_EDITOR&lt;/code&gt;&amp;#x304B;&lt;code&gt;EDITOR&lt;/code&gt;&amp;#x3067;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x30A8;&amp;#x30C7;&amp;#x30A3;&amp;#x30BF;&amp;#x3067;gem&amp;#x3092;&amp;#x958B;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;gem&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3001;&lt;code&gt;vendor/asset/javascripts&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;Asset Pipeline&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;jQuery&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/723/original/E279I01.png" width="801" height="377" alt="jquery-rails gem&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3068;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x69CB;&amp;#x6210;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x4E88;&amp;#x60F3;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x901A;&amp;#x308A;&amp;#x3001;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x304B;&amp;#x3089;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&lt;code&gt;assets&lt;/code&gt;&amp;#x30D1;&amp;#x30B9;&amp;#x306E;&amp;#x4E0B;&amp;#x3067;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304C;Asset Pipeline&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x30D1;&amp;#x30B9;&amp;#x306B;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/724/original/E279I02.png" width="801" height="437" alt="jquery.js&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;assets&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C0;&amp;#x304B;&amp;#x3089;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x8208;&amp;#x5473;&amp;#x6DF1;&amp;#x3044;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3001;&amp;#x3064;&amp;#x307E;&amp;#x308A;&amp;#x3053;&amp;#x308C;&amp;#x306F;Ruby gem&amp;#x304C;&amp;#x5358;&amp;#x306B;Ruby&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3060;&amp;#x3051;&amp;#x306E;&amp;#x3082;&amp;#x306E;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x610F;&amp;#x5473;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;Javascript&amp;#x3084;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3082;&amp;#x3001;gem&amp;#x306E;&amp;#x4E2D;&amp;#x3067;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x304A;&amp;#x305D;&amp;#x3089;&amp;#x304F;&amp;#x4ECA;&amp;#x5F8C;&amp;#x306F;&amp;#x3001;JavaScript&amp;#x30E9;&amp;#x30A4;&amp;#x30D6;&amp;#x30E9;&amp;#x30EA;&amp;#x304C;Ruby gem&amp;#x306E;&amp;#x5F62;&amp;#x5F0F;&amp;#x3067;&amp;#x516C;&amp;#x958B;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x4E8B;&amp;#x4F8B;&amp;#x304C;&amp;#x5897;&amp;#x3048;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x3082;Bundler&amp;#x306E;&amp;#x4F9D;&amp;#x5B58;&amp;#x95A2;&amp;#x4FC2;&amp;#x7BA1;&amp;#x7406;&amp;#x306E;&amp;#x5229;&amp;#x70B9;&amp;#x3092;&amp;#x4EAB;&amp;#x53D7;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Sprockets&amp;#x3067;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x7BA1;&amp;#x7406;&amp;#x3059;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&lt;code&gt;application.js&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x623B;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x4E2D;&amp;#x8EAB;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3044;&amp;#x304F;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/javascripts/application.js&lt;/p&gt;
&lt;pre class="javascript"&gt;// This is a manifest file that&amp;#x27;ll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they&amp;#x27;ll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It&amp;#x27;s not advisable to add code directly here, but if you do, it&amp;#x27;ll appear at the bottom of the
// the compiled file.
//
//= require jquery
//= require jquery_ujs
//= require_tree .&lt;/pre&gt;

&lt;p&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x3057;&amp;#x304B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4E00;&amp;#x90E8;&amp;#x306F;&amp;#x91CD;&amp;#x8981;&amp;#x306A;&amp;#x610F;&amp;#x5473;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x7A2E;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;manifest&amp;#x3068;&amp;#x3088;&amp;#x3070;&amp;#x308C;&amp;#x3001;&amp;#x5185;&amp;#x90E8;&amp;#x7684;&amp;#x306B;&amp;#x306F;&lt;a href="http://getsprockets.org/"&gt;Sprockets&lt;/a&gt;&amp;#x306B;&amp;#x7BA1;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30AF;&amp;#x30A8;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x53D7;&amp;#x3051;&amp;#x53D6;&amp;#x308B;&amp;#x3068;&amp;#x3001;Sprockets&amp;#x306F;manifest&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x3001; &amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x8A18;&amp;#x8FF0;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x7D50;&amp;#x5408;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x524D;&amp;#x306B;&amp;#x305D;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x3082;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x30D1;&amp;#x30B9;&amp;#x304C;&amp;#x6A5F;&amp;#x80FD;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x306F;&lt;code&gt;require jquery&lt;/code&gt;(&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x306E;&lt;code&gt;.js&lt;/code&gt;&amp;#x306F;&amp;#x4EFB;&amp;#x610F;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x7701;&amp;#x7565;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;)&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;Sprockets&amp;#x306F;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x30D1;&amp;#x30B9;&amp;#x306E;&amp;#x4E2D;&amp;#x304B;&amp;#x3089;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x63A2;&amp;#x3057;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306F;&lt;code&gt;jquery-rails&lt;/code&gt;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&lt;code&gt;vendor/asset/javascripts&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304B;&amp;#x3089;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30ED;&amp;#x30FC;&amp;#x30C9;&amp;#x30D1;&amp;#x30B9;&amp;#x306B;&amp;#x5B58;&amp;#x5728;&amp;#x3059;&amp;#x308B;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&lt;code&gt;require jquery-ui&lt;/code&gt;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;gem&amp;#x306E;&lt;code&gt;jquery-ui.js&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;CoffeeScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x3082;&amp;#x5F53;&amp;#x3066;&amp;#x306F;&amp;#x307E;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;require home&lt;/code&gt;&amp;#x3092;&amp;#x542B;&amp;#x3081;&amp;#x308B;&amp;#x3068; &lt;code&gt;/app/assets/javascripts/home.js.coffee&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x89E3;&amp;#x6790;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3057;&amp;#x304B;&amp;#x3057;&lt;code&gt;home&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x542B;&amp;#x3081;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x306E;&amp;#x3082;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x4E00;&amp;#x756A;&amp;#x4E0B;&amp;#x306B;&lt;code&gt;require_tree .&lt;/code&gt;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306E;&amp;#x30C9;&amp;#x30C3;&amp;#x30C8;(.)&amp;#x306F;&amp;#x30AB;&amp;#x30EC;&amp;#x30F3;&amp;#x30C8;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x8868;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3084;&amp;#x305D;&amp;#x306E;&amp;#x30B5;&amp;#x30D6;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;JavaScript&amp;#x3084;CoffeeScript&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x968E;&amp;#x5C64;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x7279;&amp;#x5B9A;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x9664;&amp;#x5916;&amp;#x3057;&amp;#x305F;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3082;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306B;admin&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x3060;&amp;#x3051;&amp;#x7279;&amp;#x5B9A;&amp;#x306E;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3057;&amp;#x307E;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x305F;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x898B;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;URL&amp;#x306B;&lt;code&gt;debug_assets=1&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x6307;&amp;#x5B9A;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x7D50;&amp;#x5408;&amp;#x3055;&amp;#x308C;&amp;#x305A;&amp;#x3001;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306E;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3001;Sprockets&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;admin&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x3082;&amp;#x306E;&amp;#x3082;&amp;#x542B;&amp;#x3081;&amp;#x3066;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/725/original/E279I03.png" width="789" height="322" alt="debug_assets&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x691C;&amp;#x7D22;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x306B;&amp;#x542B;&amp;#x3081;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x3001;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x7D50;&amp;#x5408;&amp;#x3055;&amp;#x308C;&amp;#x306A;&amp;#x3044;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x554F;&amp;#x984C;&amp;#x3078;&amp;#x306E;&amp;#x5BFE;&amp;#x51E6;&amp;#x65B9;&amp;#x6CD5;&amp;#x306F;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;require_tree&lt;/code&gt;&amp;#x306E;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&lt;code&gt;require_directory&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x30AB;&amp;#x30EC;&amp;#x30F3;&amp;#x30C8;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x307F;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x3001;&amp;#x30B5;&amp;#x30D6;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x3088;&amp;#x308A;&amp;#x8A73;&amp;#x7D30;&amp;#x306B;&amp;#x5236;&amp;#x5FA1;&amp;#x3057;&amp;#x305F;&amp;#x3051;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x5168;&amp;#x4F53;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x500B;&amp;#x5225;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&lt;code&gt;require&lt;/code&gt;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x542B;&amp;#x3081;&amp;#x305F;&amp;#x3044;JavaScript&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&lt;code&gt;public&lt;/code&gt;&amp;#x30B5;&amp;#x30D6;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x4E0A;&amp;#x3067;&lt;code&gt;require_tree ./public&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3060;&amp;#x3051;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30EB;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Sprockets manifest&amp;#x306B;&amp;#x3069;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x304B;&amp;#x3092;&amp;#x77E5;&amp;#x308A;&amp;#x305F;&amp;#x3044;&amp;#x65B9;&amp;#x3082;&amp;#x3044;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x307E;&amp;#x3060;&amp;#x3044;&amp;#x3044;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x306A;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&lt;a href="https://github.com/sstephenson/sprockets/blob/master/lib/sprockets/directive_processor.rb"&gt;&lt;code&gt;directive_processor.rb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&lt;/a&gt;&amp;#x306E;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x52D5;&amp;#x4F5C;&amp;#x306E;&amp;#x4ED5;&amp;#x7D44;&amp;#x307F;&amp;#x306E;&amp;#x8AAC;&amp;#x660E;&amp;#x3068;&amp;#x3068;&amp;#x3082;&amp;#x306B;&amp;#x3001;&amp;#x4F7F;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x304C;&amp;#x8A18;&amp;#x8F09;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30D7;&amp;#x30EA;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&lt;/h3&gt;

&lt;p&gt;Asset Pipeline&amp;#x306F;&amp;#x30D7;&amp;#x30EA;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x306B;&amp;#x3082;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x4ED5;&amp;#x7D44;&amp;#x307F;&amp;#x3092;&amp;#x8AAC;&amp;#x660E;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x65B0;&amp;#x305F;&amp;#x306B;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x305F;&lt;code&gt;/app/assets/anything&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&lt;code&gt;greeting.txt&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x307E;&amp;#x307E;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x5358;&amp;#x306A;&amp;#x308B;&amp;#x9759;&amp;#x7684;&amp;#x306A;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3067;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x540D;&amp;#x306B;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;ERB&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x304C;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p class="codeFilePath"&gt;/app/assets/anything/greeting.txt.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;hello world &amp;lt;%= 1 + 1 %&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x3067;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;ERB&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;URL&amp;#x306B;&amp;#x306F;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x306E;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x306F;&amp;#x542B;&amp;#x3093;&amp;#x3067;&amp;#x3044;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/726/original/E279I04.png" width="801" height="280" alt="&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x306B;&amp;#x9001;&amp;#x4FE1;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x524D;&amp;#x306B;erb&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x30D7;&amp;#x30EA;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30B9;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x57FA;&amp;#x672C;&amp;#x7684;&amp;#x306B;&amp;#x3053;&amp;#x308C;&amp;#x304C;SASS&amp;#x3068;CoffeeScript&amp;#x304C;&amp;#x52D5;&amp;#x4F5C;&amp;#x3059;&amp;#x308B;&amp;#x3057;&amp;#x304F;&amp;#x307F;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&lt;code&gt;.scss&lt;/code&gt;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x304C;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x304C;&amp;#x30D7;&amp;#x30EA;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x6271;&amp;#x308F;&amp;#x308C;&amp;#x3066;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;SASS &amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x306B;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x3092;&amp;#x9023;&amp;#x7D50;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&lt;code&gt;.scss.erb&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x62E1;&amp;#x5F35;&amp;#x5B50;&amp;#x3092;&amp;#x3064;&amp;#x3051;&amp;#x3066;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306F;&amp;#x307E;&amp;#x305A;ERB&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x306B;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5F8C;SASS&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x306B;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30D7;&amp;#x30EA;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x306F;&amp;#x81EA;&amp;#x7531;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;&amp;#x5909;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x72EC;&amp;#x81EA;&amp;#x306E;&amp;#x30D7;&amp;#x30ED;&amp;#x30BB;&amp;#x30C3;&amp;#x30B5;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&amp;#x308A;&amp;#x3001;&amp;#x65E2;&amp;#x5B58;&amp;#x306E;&amp;#x3082;&amp;#x306E;&amp;#x3068;&amp;#x7F6E;&amp;#x304D;&amp;#x63DB;&amp;#x3048;&amp;#x305F;&amp;#x308A;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&lt;a href="https://github.com/rtomayko/tilt/"&gt;Tilt gem&lt;/a&gt;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30B5;&amp;#x30A4;&amp;#x30C8;&amp;#x306B;&amp;#x306F;&amp;#x52D5;&amp;#x4F5C;&amp;#x306E;&amp;#x3057;&amp;#x304F;&amp;#x307F;&amp;#x3084;&amp;#x5229;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x62E1;&amp;#x5F35;&amp;#x6A5F;&amp;#x80FD;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3082;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;(Production Mode)&amp;#x3067;&amp;#x306E;&amp;#x76F8;&amp;#x9055;&amp;#x70B9;&lt;/h3&gt;

&lt;p&gt;Asset Pipeline&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&amp;#x6982;&amp;#x8981;&amp;#x7D39;&amp;#x4ECB;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;Asset Pipeline&amp;#x306F;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306E;&amp;#x52D5;&amp;#x4F5C;&amp;#x306B;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x76F8;&amp;#x9055;&amp;#x70B9;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x6B8B;&amp;#x308A;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x8AAC;&amp;#x660E;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x672C;&amp;#x756A;&amp;#x30E2;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails s -e production&lt;/pre&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C8;&amp;#x30C3;&amp;#x30D7;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x3066;&amp;#x30BD;&amp;#x30FC;&amp;#x30B9;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x304C;&amp;#x9055;&amp;#x3046;&amp;#x5F62;&amp;#x3067;&amp;#x914D;&amp;#x4FE1;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;&amp;lt;link href=&amp;quot;/assets/application-412fe22651f4486c51e54176003a9f57.css&amp;quot; media=&amp;quot;screen&amp;quot; rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; /&amp;gt;
  &amp;lt;script src=&amp;quot;/assets/application-3e3a5167191afa70c7b72440eee7dd40.js&amp;quot; type=&amp;quot;text/javascript&amp;quot;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
  
&lt;p&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x540D;&amp;#x306B;&amp;#x30CF;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x5024;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x30AD;&amp;#x30E3;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3067;&amp;#x3059;&amp;#x3002;Rails 3.0&amp;#x3067;&amp;#x7528;&amp;#x3044;&amp;#x3089;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x30AF;&amp;#x30A8;&amp;#x30EA;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x4EE5;&amp;#x524D;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x3068;&amp;#x6BD4;&amp;#x3079;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x5B9F;&amp;#x969B;&amp;#x306B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x540D;&amp;#x3092;&amp;#x5909;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x306E;&amp;#x65B9;&amp;#x6CD5;&amp;#x306E;&amp;#x65B9;&amp;#x304C;&amp;#x512A;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x81EA;&amp;#x8EAB;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x901A;&amp;#x4FE1;&amp;#x30B3;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x5C11;&amp;#x306A;&amp;#x304F;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;JavaScript&amp;#x304C;&amp;#x7E2E;&amp;#x5C0F;&amp;#x5316;(minify)&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306F;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;&amp;#x30AD;&amp;#x30E3;&amp;#x30C3;&amp;#x30B7;&amp;#x30E5;&amp;#x3055;&amp;#x308C;&amp;#x3001;Rack Cache&amp;#x30DF;&amp;#x30C9;&amp;#x30EB;&amp;#x30A6;&amp;#x30A7;&amp;#x30A2;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x914D;&amp;#x4FE1;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x901F;&amp;#x5EA6;&amp;#x306F;&amp;#x304B;&amp;#x306A;&amp;#x308A;&amp;#x901F;&amp;#x3044;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;Web&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x81EA;&amp;#x8EAB;&amp;#x306B;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306E;&amp;#x914D;&amp;#x4FE1;&amp;#x3068;&amp;#x30DB;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x4E8B;&amp;#x524D;&amp;#x306B;&amp;#x30D7;&amp;#x30EA;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30EB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;pre class="terminal"&gt;$ rake assets:precompile&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&amp;#x3001;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306F;&lt;code&gt;/public&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x30D7;&amp;#x30EA;&amp;#x30B3;&amp;#x30F3;&amp;#x30D1;&amp;#x30A4;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x3001;Web&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x304B;&amp;#x3089;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;Asset Pipeline&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x5FD8;&amp;#x308C;&amp;#x305A;&amp;#x306B;&lt;a href="http://ryanbigg.com/guides/asset_pipeline.html"&gt;Rails Guide&lt;/a&gt;&amp;#x3067;&amp;#x3088;&amp;#x308A;&amp;#x8A73;&amp;#x3057;&amp;#x3044;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x30C1;&amp;#x30A7;&amp;#x30C3;&amp;#x30AF;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Thu, 08 Sep 2011 21:21:49 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/279-understanding-the-asset-pipeline</guid>
      <link>http://ja.asciicasts.com/episodes/279-understanding-the-asset-pipeline</link>
    </item>
    <item>
      <title>Sunspot&#12391;&#20840;&#25991;&#26908;&#32034;</title>
      <description>&lt;p&gt;&lt;a href="http://outoftime.github.com/sunspot"&gt;Sunspot&lt;/a&gt;&amp;#x306F;Ruby&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30BD;&amp;#x30EA;&amp;#x30E5;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30D0;&amp;#x30C3;&amp;#x30AF;&amp;#x30B0;&amp;#x30E9;&amp;#x30A6;&amp;#x30F3;&amp;#x30C9;&amp;#x3067;&lt;a href="http://lucene.apache.org/solr/"&gt;Solr&lt;/a&gt;&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x3001;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x63D0;&amp;#x4F9B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x904E;&amp;#x53BB;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x305F;&amp;#x30D6;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4F8B;&amp;#x306B;&amp;#x3057;&amp;#x3066;&amp;#x3001;Sunspot&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/718/original/E278I01.png" width="800" height="432" alt="&amp;#x30D6;&amp;#x30ED;&amp;#x30B0;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x8907;&amp;#x6570;&amp;#x306E;&amp;#x8A18;&amp;#x4E8B;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x304A;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x3092;&amp;#x6A2A;&amp;#x65AD;&amp;#x3057;&amp;#x3066;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x5B9F;&amp;#x88C5;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;SQL&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x884C;&amp;#x3046;&amp;#x306E;&amp;#x306F;&amp;#x56F0;&amp;#x96E3;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x3084;&amp;#x3059;&amp;#x304F;&amp;#x3001;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x6700;&amp;#x5584;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30ED;&amp;#x30FC;&amp;#x30C1;&amp;#x3068;&amp;#x306F;&amp;#x8A00;&amp;#x3048;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;Sunspot&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306A;&amp;#x5C02;&amp;#x7528;&amp;#x306E;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x30C4;&amp;#x30FC;&amp;#x30EB;&amp;#x306E;&amp;#x65B9;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x5B9F;&amp;#x88C5;&amp;#x3059;&amp;#x308B;&amp;#x306B;&amp;#x306F;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x9069;&amp;#x3057;&amp;#x305F;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Sunspot&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&lt;/h3&gt;

&lt;p&gt;Sunspot&amp;#x306F;gem&amp;#x5F62;&amp;#x5F0F;&amp;#x3067;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&lt;code&gt;Gemfile&lt;/code&gt;&amp;#x306B;&amp;#x8FFD;&amp;#x8A18;&amp;#x3057;&amp;#x3066;&lt;code&gt;bundle&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/Gemfile&lt;/p&gt;
&lt;pre class="ruby"&gt;source &amp;#x27;http://rubygems.org&amp;#x27;

gem &amp;#x27;rails&amp;#x27;, &amp;#x27;3.0.9&amp;#x27;
gem &amp;#x27;sqlite3&amp;#x27;
gem &amp;#x27;nifty-generators&amp;#x27;
gem &amp;#x27;sunspot_rails&amp;#x27;&lt;/pre&gt;

&lt;p&gt;gem&amp;#x3068;&amp;#x305D;&amp;#x306E;&amp;#x4F9D;&amp;#x5B58;&amp;#x95A2;&amp;#x4FC2;&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3089;&amp;#x3001;Sunspot&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g sunspot_rails:install&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&lt;code&gt;/config/sunspot.yml&lt;/code&gt;&amp;#x306B;YML&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x8A2D;&amp;#x5B9A;&amp;#x306B;&amp;#x4FEE;&amp;#x6B63;&amp;#x3092;&amp;#x52A0;&amp;#x3048;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Sunspot&amp;#x306F;gem&amp;#x306E;&amp;#x5185;&amp;#x90E8;&amp;#x306B;Solr&amp;#x3092;&amp;#x7D44;&amp;#x307F;&amp;#x8FBC;&amp;#x3093;&amp;#x3067;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5225;&amp;#x9014;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3064;&amp;#x307E;&amp;#x308A;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x305F;&amp;#x7D20;&amp;#x306E;&amp;#x72B6;&amp;#x614B;&amp;#x3067;&amp;#x6A5F;&amp;#x80FD;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x958B;&amp;#x767A;&amp;#x6642;&amp;#x306B;&amp;#x306F;&amp;#x3068;&amp;#x3066;&amp;#x3082;&amp;#x7C21;&amp;#x5358;&amp;#x306B;&amp;#x4F5C;&amp;#x696D;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x8D77;&amp;#x52D5;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rake sunspot:solr:start&lt;/pre&gt;

&lt;p&gt;OS X Lion&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x3066;Java&amp;#x30E9;&amp;#x30F3;&amp;#x30BF;&amp;#x30A4;&amp;#x30E0;&amp;#x3092;&amp;#x307E;&amp;#x3060;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x30E9;&amp;#x30F3;&amp;#x30BF;&amp;#x30A4;&amp;#x30E0;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x30D7;&amp;#x30ED;&amp;#x30F3;&amp;#x30D7;&amp;#x30C8;&amp;#x304C;&amp;#x51FA;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x540C;&amp;#x3058;&amp;#x304F;&amp;#x975E;&amp;#x63A8;&amp;#x5968;&amp;#x306E;&amp;#x8B66;&amp;#x544A;(deprecation warning)&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x304B;&amp;#x3082;&amp;#x77E5;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x7121;&amp;#x8996;&amp;#x3057;&amp;#x3066;&amp;#x3082;&amp;#x554F;&amp;#x984C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306B;&amp;#x3088;&amp;#x308A;&amp;#x3001;&amp;#x8A73;&amp;#x7D30;&amp;#x8A2D;&amp;#x5B9A;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x8FFD;&amp;#x52A0;&amp;#x306E;&amp;#x8A2D;&amp;#x5B9A;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x89E6;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&lt;a href="http://outoftime.github.com/sunspot/docs/index.html"&gt;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C6;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&lt;/a&gt;&amp;#x306B;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x4FEE;&amp;#x6B63;&amp;#x65B9;&amp;#x6CD5;&amp;#x306E;&amp;#x8A73;&amp;#x7D30;&amp;#x60C5;&amp;#x5831;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;Sunspot&amp;#x306E;&amp;#x5229;&amp;#x7528;&lt;/h3&gt;

&lt;p&gt;Sunspot&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;Article&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x304B;&amp;#x3089;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&lt;code&gt;searchable&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments
  
  searchable do
    text :name, :content
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306F;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x3068;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x3067;&amp;#x691C;&amp;#x7D22;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3057;&amp;#x3066;Sunspot&amp;#x306B;&amp;#x3069;&amp;#x306E;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x306B;&amp;#x7D22;&amp;#x5F15;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3044;&amp;#x304B;&amp;#x3092;&amp;#x77E5;&amp;#x3089;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;text&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x5BFE;&amp;#x8C61;&amp;#x3068;&amp;#x3059;&amp;#x308B;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x691C;&amp;#x7D22;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;name&amp;#x3068;content&amp;#x306E;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Sunspot&amp;#x306F;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x7D22;&amp;#x5F15;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x65E2;&amp;#x5B58;&amp;#x306E;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x306F;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;Sunspot&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x65E2;&amp;#x5B58;&amp;#x306E;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x7D22;&amp;#x5F15;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x76F4;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rake sunspot:reindex&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;Solr&amp;#x306E;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x306B;&amp;#x5165;&amp;#x3063;&amp;#x3066;&amp;#x691C;&amp;#x7D22;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x72B6;&amp;#x614B;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;index&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306E;&amp;#x4E00;&amp;#x756A;&amp;#x4E0A;&amp;#x306B;&amp;#x691C;&amp;#x7D22;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/articles/index.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;% title &amp;quot;Articles&amp;quot; %&amp;gt;

&amp;lt;%= form_tag articles_path, :method =&amp;gt; :get do %&amp;gt;
  &amp;lt;p&amp;gt;
    &amp;lt;%= text_field_tag :search, params[:search] %&amp;gt;
    &amp;lt;%= submit_tag &amp;quot;Search&amp;quot;, :name =&amp;gt; nil %&amp;gt;
&amp;lt;% end %&amp;gt;
&amp;lt;!-- rest of view omitted --&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x306F;GET&amp;#x3092;&amp;#x7528;&amp;#x3044;&amp;#x3066;index&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x9001;&amp;#x4FE1;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x5165;&amp;#x529B;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x691C;&amp;#x7D22;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x304C;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x691C;&amp;#x7D22;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3067;&amp;#x306F;&amp;#x6B21;&amp;#x306B;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&lt;code&gt;search&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x8A18;&amp;#x4E8B;&amp;#x3092;&amp;#x53D6;&amp;#x5F97;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;Sunspot&amp;#x3067;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3067;&lt;code&gt;search&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x5185;&amp;#x3067;&amp;#x306F;&amp;#x8907;&amp;#x96D1;&amp;#x306A;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x51E6;&amp;#x7406;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3044;&amp;#x308D;&amp;#x3044;&amp;#x308D;&amp;#x306A;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&lt;code&gt;fulltext&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x30D5;&amp;#x30A9;&amp;#x30FC;&amp;#x30E0;&amp;#x304B;&amp;#x3089;&amp;#x306E;&amp;#x691C;&amp;#x7D22;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x6700;&amp;#x5F8C;&amp;#x306B;&amp;#x3053;&amp;#x306E;&amp;#x7D50;&amp;#x679C;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x3092;&lt;code&gt;@search&lt;/code&gt;&amp;#x306B;&amp;#x5272;&amp;#x308A;&amp;#x5F53;&amp;#x3066;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306E;&amp;#x7D50;&amp;#x679C;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x4E00;&amp;#x81F4;&amp;#x3057;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x53D6;&amp;#x5F97;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/articles_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def index
  @search = Article.search do
    fulltext params[:search]
  end
  @articles = @search.results
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x307E;&amp;#x3067;&amp;#x306E;&amp;#x90E8;&amp;#x5206;&amp;#x3092;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x3057;&amp;#x3066;&amp;#x30AD;&amp;#x30FC;&amp;#x30EF;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/719/original/E278I02.png" width="800" height="565" alt="&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x691C;&amp;#x7D22;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x304C;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&lt;code&gt;name&lt;/code&gt;&amp;#x304B;&lt;code&gt;content&lt;/code&gt;&amp;#x304B;&amp;#x306B;&amp;#x95A2;&amp;#x308F;&amp;#x3089;&amp;#x305A;&amp;#x3001;&amp;#x691C;&amp;#x7D22;&amp;#x8A9E;&amp;#x3092;&amp;#x542B;&amp;#x3093;&amp;#x3060;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;Article&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x306E;&lt;code&gt;searchable&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x4EE5;&amp;#x5916;&amp;#x306B;&amp;#x3082;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x53EF;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&lt;code&gt;boost&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x304C;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x65B9;&amp;#x304C;&amp;#x672C;&amp;#x6587;&amp;#x304C;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x8A18;&amp;#x4E8B;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x91CD;&amp;#x8981;&amp;#x6027;&amp;#x304C;&amp;#x9AD8;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;&amp;#x7D50;&amp;#x679C;&amp;#x306B;&amp;#x91CD;&amp;#x307F;&amp;#x4ED8;&amp;#x3051;&amp;#x3092;&amp;#x3064;&amp;#x3051;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments
  
  searchable do
    text :name, :boost =&amp;gt; 5
    text :content
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3001;&amp;#x7D50;&amp;#x679C;&amp;#x3092;relevance(&amp;#x9069;&amp;#x5408;&amp;#x5EA6;)&amp;#x3067;&amp;#x4E26;&amp;#x3079;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x91CD;&amp;#x8981;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x30BF;&amp;#x30A4;&amp;#x30C8;&amp;#x30EB;&amp;#x306B;&amp;#x691C;&amp;#x7D22;&amp;#x8A9E;&amp;#x3092;&amp;#x542B;&amp;#x3080;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;&amp;#x672C;&amp;#x6587;&amp;#x306B;&amp;#x691C;&amp;#x7D22;&amp;#x8A9E;&amp;#x3092;&amp;#x542B;&amp;#x3080;&amp;#x8A18;&amp;#x4E8B;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x691C;&amp;#x7D22;&amp;#x7D50;&amp;#x679C;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x306E;&amp;#x4E0A;&amp;#x4F4D;&amp;#x306B;&amp;#x73FE;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;searchable&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x5C5E;&amp;#x6027;&amp;#x306F;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x306E;&amp;#x5B9F;&amp;#x969B;&amp;#x306E;&amp;#x5217;&amp;#x540D;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x5185;&amp;#x3067;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3059;&amp;#x308B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3082;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x6708;&amp;#x3068;&amp;#x5E74;&amp;#x3092;&amp;#x542B;&amp;#x3080;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x3092;&amp;#x8FD4;&amp;#x3059;&lt;code&gt;publish_month&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x5217;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3001;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x306E;&amp;#x5217;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x305D;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x884C;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments
  
  searchable do
    text :name, :boost =&amp;gt; 5
    text :content, :publish_month
  end
  
  def publish_month
    published_at.strftime(&amp;quot;%B %Y&amp;quot;)
  end
  
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x5217;&amp;#x3067;&amp;#x691C;&amp;#x7D22;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&lt;code&gt;rake sunspot:reindex&lt;/code&gt;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x5B9F;&amp;#x884C;&amp;#x3057;&amp;#x3066;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306B;&amp;#x7D22;&amp;#x5F15;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x76F4;&amp;#x3059;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x305D;&amp;#x3046;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x6708;&amp;#x540D;&amp;#x3067;&amp;#x8A18;&amp;#x4E8B;&amp;#x3092;&amp;#x691C;&amp;#x7D22;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/720/original/E278I03.png" width="800" height="420" alt="&amp;#x8A18;&amp;#x4E8B;&amp;#x306B;&amp;#x767A;&amp;#x884C;&amp;#x6708;&amp;#x3067;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x304C;&amp;#x304B;&amp;#x3051;&amp;#x3089;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x3001;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x3066;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306E;&amp;#x623B;&amp;#x308A;&amp;#x5024;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x8A18;&amp;#x4E8B;&amp;#x306B;&amp;#x306F;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x304C;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3092;&amp;#x7528;&amp;#x3044;&amp;#x3066;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x306E;&amp;#x5185;&amp;#x5BB9;&amp;#x3092;&amp;#x691C;&amp;#x7D22;&amp;#x3059;&amp;#x308B;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments
  
  searchable do
    text :name, :boost =&amp;gt; 5
    text :content, :publish_month
    text :comments do
      comments.map(&amp;amp;:content)
    end
  end
  
  def publish_month
    published_at.strftime(&amp;quot;%B %Y&amp;quot;)
  end
  
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x5185;&amp;#x306E;&amp;#x30B3;&amp;#x30F3;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;&amp;#x306F;&lt;code&gt;Article&lt;/code&gt;&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30B9;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001; &amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x3067;&amp;#x8A18;&amp;#x4E8B;&amp;#x306B;&amp;#x5BFE;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x3092;&amp;#x53D6;&amp;#x5F97;&amp;#x3057;&amp;#x3066;&amp;#x5404;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x306E;&amp;#x672C;&amp;#x6587;&amp;#x306B;&amp;#x30DE;&amp;#x30C3;&amp;#x30D4;&amp;#x30F3;&amp;#x30B0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x914D;&amp;#x5217;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;Sunspot&amp;#x306F;&amp;#x30B3;&amp;#x30E1;&amp;#x30F3;&amp;#x30C8;&amp;#x306E;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306B;&amp;#x7D22;&amp;#x5F15;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x691C;&amp;#x7D22;&amp;#x53EF;&amp;#x80FD;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x5C5E;&amp;#x6027;&amp;#x306B;&amp;#x5BFE;&amp;#x3059;&amp;#x308B;&amp;#x691C;&amp;#x7D22;&lt;/h3&gt;

&lt;p&gt;&amp;#x5358;&amp;#x7D14;&amp;#x306A;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x4EE5;&amp;#x4E0A;&amp;#x306E;&amp;#x691C;&amp;#x7D22;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x3001;&amp;#x3042;&amp;#x308B;&amp;#x7279;&amp;#x5B9A;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3069;&amp;#x3046;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x691C;&amp;#x7D22;&amp;#x5BFE;&amp;#x8C61;&amp;#x306B;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5C5E;&amp;#x6027;&amp;#x306E;&amp;#x30BF;&amp;#x30A4;&amp;#x30D7;(&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x304B;&amp;#x6574;&amp;#x6570;&amp;#x304B;&amp;#x6D6E;&amp;#x52D5;&amp;#x5C0F;&amp;#x6570;&amp;#x304B;&amp;#x30BF;&amp;#x30A4;&amp;#x30E0;&amp;#x30B9;&amp;#x30BF;&amp;#x30F3;&amp;#x30D7;&amp;#x304B;)&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x691C;&amp;#x7D22;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x306B;&lt;code&gt;published_at&lt;/code&gt;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&lt;code&gt;time&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments
  
  searchable do
    text :name, :boost =&amp;gt; 5
    text :content, :publish_month
    text :comments do
      comments.map(&amp;amp;:content)
    end
    time :published_at
  end
  
  def publish_month
    published_at.strftime(&amp;quot;%B %Y&amp;quot;)
  end
  
end&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;ArticlesController&lt;/code&gt;&amp;#x3067;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x691C;&amp;#x7D22;&amp;#x5BFE;&amp;#x8C61;&amp;#x3092;&lt;code&gt;published_at&lt;/code&gt;&amp;#x306E;&amp;#x65E5;&amp;#x4ED8;&amp;#x304C;&amp;#x73FE;&amp;#x5728;&amp;#x306E;&amp;#x6642;&amp;#x523B;&amp;#x3088;&amp;#x308A;&amp;#x3082;&amp;#x524D;&amp;#x306E;&amp;#x3082;&amp;#x306E;&amp;#x306B;&amp;#x5236;&amp;#x9650;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&lt;code&gt;with&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/articles_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def index
  @search = Article.search do
    fulltext params[:search]
    with(:published_at).less_than(Time.zone.now)
  end
  @articles = @search.results
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x8A18;&amp;#x4E8B;&amp;#x306F;&amp;#x691C;&amp;#x7D22;&amp;#x3055;&amp;#x308C;&amp;#x306A;&amp;#x304F;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x6E21;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x5C5E;&amp;#x6027;&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x30C9;&amp;#x30AD;&amp;#x30E5;&amp;#x30E1;&amp;#x30F3;&amp;#x30C6;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&lt;a href="https://github.com/outoftime/sunspot/wiki/Scoping-by-attribute-fields"&gt;Sunspot&amp;#x306E;wiki&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&lt;/a&gt;&amp;#x306B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x691C;&amp;#x7D22;&lt;/h3&gt;

&lt;p&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x691C;&amp;#x7D22;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x3042;&amp;#x308B;&amp;#x5C5E;&amp;#x6027;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x6708;&amp;#x3067;&amp;#x691C;&amp;#x7D22;&amp;#x7D50;&amp;#x679C;&amp;#x3092;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x3001;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;&amp;#x5B58;&amp;#x5728;&amp;#x3059;&amp;#x308B;&amp;#x6708;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x306E;&amp;#x4E00;&amp;#x89A7;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x3068;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x306B;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x304C;&amp;#x304B;&amp;#x3051;&amp;#x3089;&amp;#x308C;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x6708;&amp;#x306B;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x3060;&amp;#x3051;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002; &lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x307E;&amp;#x305A;&amp;#x3001;&lt;code&gt;publish_month&lt;/code&gt;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x306E;&lt;code&gt;searchable&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x306B;&lt;code&gt;string&lt;/code&gt;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002; &lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/models/article.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class Article &amp;lt; ActiveRecord::Base
  attr_accessible :name, :content, :published_at
  has_many :comments
  
  searchable do
    text :name, :boost =&amp;gt; 5
    text :content, :publish_month
    text :comments do
      comments.map(&amp;amp;:content)
    end
    time :published_at
    string :publish_month
  end
  
  def publish_month
    published_at.strftime(&amp;quot;%B %Y&amp;quot;)
  end
  
end&lt;/pre&gt;

&lt;p&gt;&lt;code&gt;ArticlesController&lt;/code&gt;&amp;#x306E;&lt;code&gt;search&lt;/code&gt;&amp;#x30D6;&amp;#x30ED;&amp;#x30C3;&amp;#x30AF;&amp;#x3067;&lt;code&gt;facet&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306B;&amp;#x5909;&amp;#x3048;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/articles_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def index
  @search = Article.search do
    fulltext params[:search]
    with(:published_at).less_than(Time.zone.now)
    facet(:publish_month)
  end
  @articles = @search.results
end&lt;/pre&gt;

&lt;p&gt;&amp;#x4EE5;&amp;#x4E0B;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x691C;&amp;#x7D22;&amp;#x30DC;&amp;#x30C3;&amp;#x30AF;&amp;#x30B9;&amp;#x3068;&amp;#x8A18;&amp;#x4E8B;&amp;#x306E;&amp;#x4E00;&amp;#x89A7;&amp;#x306E;&amp;#x9593;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&lt;code&gt;index&lt;/code&gt;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/articles/index.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;div id=&amp;quot;facets&amp;quot;&amp;gt;
  &amp;lt;h3&amp;gt;Published&amp;lt;/h3&amp;gt;
  &amp;lt;ul&amp;gt;
    &amp;lt;% for row in @search.facet(:publish_month).rows %&amp;gt;
      &amp;lt;li&amp;gt;
        &amp;lt;% if params[:month].blank? %&amp;gt;
          &amp;lt;%= link_to row.value, :month =&amp;gt; row.value %&amp;gt; (&amp;lt;%= row.count %&amp;gt;)
        &amp;lt;% else %&amp;gt;
          &amp;lt;strong&amp;gt;&amp;lt;%= row.value %&amp;gt;&amp;lt;/strong&amp;gt; (&amp;lt;%= link_to &amp;quot;remove&amp;quot;, :month =&amp;gt; nil %&amp;gt;)
        &amp;lt;% end %&amp;gt;
      &amp;lt;/li&amp;gt;
    &amp;lt;% end %&amp;gt;
  &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x3001;&lt;code&gt;publish_month&lt;/code&gt;&amp;#x306E;&amp;#x5404;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x9805;&amp;#x76EE;&amp;#x3092;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x3057;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;@search&lt;/code&gt;&amp;#x30AA;&amp;#x30D6;&amp;#x30B8;&amp;#x30A7;&amp;#x30AF;&amp;#x30C8;&amp;#x3067;&lt;code&gt;.facet&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306E;&amp;#x4E26;&amp;#x3073;&amp;#x9806;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x5C5E;&amp;#x6027;&amp;#x3092;&amp;#x6E21;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x4F8B;&amp;#x3067;&amp;#x8A00;&amp;#x3046;&amp;#x3068;&lt;code&gt;:publish_month&lt;/code&gt;&amp;#x3001;&amp;#x305D;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x308C;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&lt;code&gt;.rows&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x3067;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&lt;code&gt;row.value&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5C5E;&amp;#x6027;&amp;#x306E;&amp;#x5024;&amp;#x3001;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x300C;January 2011&amp;#x300D;&amp;#x3092;&amp;#x8FD4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305F;&lt;code&gt;row.count&lt;/code&gt;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x305B;&amp;#x3070;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5024;&amp;#x306B;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x8A18;&amp;#x4E8B;&amp;#x6570;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x691C;&amp;#x7D22;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x306B;&lt;code&gt;month&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x304C;&amp;#x3042;&amp;#x3063;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5024;&amp;#x3092;&amp;#x3001;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x524A;&amp;#x9664;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x300C;remove(&amp;#x524A;&amp;#x9664;)&amp;#x300D;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3068;&amp;#x5171;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x4E0E;&amp;#x3048;&amp;#x3089;&amp;#x308C;&amp;#x305F;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x9078;&amp;#x629E;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&lt;code&gt;month&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x4ECB;&amp;#x3057;&amp;#x3066;&amp;#x6E21;&amp;#x3059;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x4FBF;&amp;#x5229;&amp;#x306A;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x5229;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x307F;&amp;#x76F4;&amp;#x3059;&amp;#x3068;&amp;#x3001;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306E;&amp;#x7D22;&amp;#x5F15;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x76F4;&amp;#x3057;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30D1;&amp;#x30CD;&amp;#x30EB;&amp;#x306B;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x6708;&amp;#x540D;&amp;#x3068;&amp;#x305D;&amp;#x306E;&amp;#x6708;&amp;#x306B;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x6570;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x5F62;&amp;#x3067;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x6708;&amp;#x3092;&amp;#x9078;&amp;#x629E;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x691C;&amp;#x7D22;&amp;#x6587;&amp;#x5B57;&amp;#x5217;&amp;#x306B;&lt;code&gt;month&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x8A18;&amp;#x4E8B;&amp;#x306F;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x306E;&lt;code&gt;search&lt;/code&gt;&amp;#x306B;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&lt;code&gt;with&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x3066;&amp;#x3001;&lt;code&gt;month&lt;/code&gt;&amp;#x30D1;&amp;#x30E9;&amp;#x30E1;&amp;#x30FC;&amp;#x30BF;&amp;#x304C;&amp;#x5B58;&amp;#x5728;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x6708;&amp;#x3067;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/articles_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;def index
  @search = Article.search do
    fulltext params[:search]
    with(:published_at).less_than(Time.zone.now)
    facet(:publish_month)
    with(:publish_month, params[:month]) &amp;crarr; 
      if params[:month].present?
  end
  @articles = @search.results
end&lt;/pre&gt;

&lt;p&gt;&amp;#x6708;&amp;#x3092;&amp;#x9078;&amp;#x629E;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x6708;&amp;#x306B;&amp;#x767A;&amp;#x884C;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x3067;&amp;#x6B63;&amp;#x3057;&amp;#x304F;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/721/original/E278I04.png" width="800" height="439" alt="&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x7528;&amp;#x3044;&amp;#x3066;&amp;#x6708;&amp;#x3067;&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x300C;remove&amp;#x300D;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x5168;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8FD4;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x691C;&amp;#x7D22;&amp;#x7D50;&amp;#x679C;&amp;#x3082;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x3066;&amp;#x52D5;&amp;#x4F5C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x691C;&amp;#x7D22;&amp;#x8A9E;&amp;#x3092;&amp;#x5165;&amp;#x529B;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x8A18;&amp;#x4E8B;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x6708;&amp;#x304C;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/722/original/E278I05.png" width="800" height="581" alt="&amp;#x30D5;&amp;#x30A3;&amp;#x30EB;&amp;#x30BF;&amp;#x30EA;&amp;#x30F3;&amp;#x30B0;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x8A18;&amp;#x4E8B;&amp;#x306B;&amp;#x4E00;&amp;#x81F4;&amp;#x3059;&amp;#x308B;&amp;#x6708;&amp;#x304C;&amp;#x30B5;&amp;#x30A4;&amp;#x30C9;&amp;#x30D0;&amp;#x30FC;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306F;&amp;#x691C;&amp;#x7D22;&amp;#x3068;&amp;#x5408;&amp;#x308F;&amp;#x305B;&amp;#x3066;&amp;#x5229;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x6A5F;&amp;#x80FD;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Sunspot&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;Sunspot&amp;#x306F;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x5168;&amp;#x6587;&amp;#x691C;&amp;#x7D22;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x65B9;&amp;#x6CD5;&amp;#x3067;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x89E6;&amp;#x308C;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x304B;&amp;#x3063;&amp;#x305F;&amp;#x591A;&amp;#x304F;&amp;#x306E;&amp;#x8FFD;&amp;#x52A0;&amp;#x6A5F;&amp;#x80FD;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3055;&amp;#x3089;&amp;#x306B;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x5F97;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x5FD8;&amp;#x308C;&amp;#x305A;&amp;#x306B;&lt;a href="https://github.com/outoftime/sunspot/wiki/"&gt;wiki&lt;/a&gt;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 04 Sep 2011 20:57:35 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/278-search-with-sunspot</guid>
      <link>http://ja.asciicasts.com/episodes/278-search-with-sunspot</link>
    </item>
    <item>
      <title>&#12510;&#12454;&#12531;&#12488;&#21487;&#33021;&#12394;&#12456;&#12531;&#12472;&#12531;</title>
      <description>&lt;p&gt;&amp;#x5148;&amp;#x9031;&amp;#x672B;Rails 3.1 HackFest&amp;#x304C;&amp;#x958B;&amp;#x50AC;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x53C2;&amp;#x52A0;&amp;#x8005;&amp;#x306E;&amp;#x52AA;&amp;#x529B;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;Rails 3.1&amp;#x306E;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;&amp;#x5019;&amp;#x88DC;&amp;#x7B2C;5&amp;#x7248;&amp;#x304C;&amp;#x516C;&amp;#x958B;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30EA;&amp;#x30EA;&amp;#x30FC;&amp;#x30B9;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x53EF;&amp;#x80FD;&amp;#x306A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;(mountable engine)&amp;#x306B;&amp;#x95A2;&amp;#x3059;&amp;#x308B;&amp;#x91CD;&amp;#x8981;&amp;#x306A;&amp;#x4FEE;&amp;#x6B63;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x53EF;&amp;#x80FD;&amp;#x306A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x4EFB;&amp;#x610F;&amp;#x306E;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x5225;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://railscasts.com/episodes/104-exception-notifications"&gt;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;104&lt;/a&gt;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3057;&amp;#x305F;Exception Notification&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3092;&amp;#x899A;&amp;#x3048;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x65B9;&amp;#x3082;&amp;#x3044;&amp;#x308B;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3092;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x767A;&amp;#x751F;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x30C7;&amp;#x30FC;&amp;#x30BF;&amp;#x30D9;&amp;#x30FC;&amp;#x30B9;&amp;#x306B;&amp;#x84C4;&amp;#x7A4D;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x30A4;&amp;#x30F3;&amp;#x30BF;&amp;#x30D5;&amp;#x30A7;&amp;#x30FC;&amp;#x30B9;&amp;#x3082;&amp;#x63D0;&amp;#x4F9B;&amp;#x3055;&amp;#x308C;&amp;#x3001;&amp;#x4F8B;&amp;#x5916;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30D7;&amp;#x30E9;&amp;#x30B0;&amp;#x30A4;&amp;#x30F3;&amp;#x3092;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x53EF;&amp;#x80FD;&amp;#x306A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x4F5C;&amp;#x308A;&amp;#x76F4;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;h3&gt;&amp;#x306F;&amp;#x3058;&amp;#x3081;&amp;#x306B;&lt;/h3&gt;

&lt;p&gt;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3092;&amp;#x66F8;&amp;#x304D;&amp;#x59CB;&amp;#x3081;&amp;#x308B;&amp;#x524D;&amp;#x306B;&amp;#x3001;Rails 3.1 RC5&amp;#x4EE5;&amp;#x964D;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x78BA;&amp;#x8A8D;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;&amp;#x6B21;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x6700;&amp;#x65B0;&amp;#x7248;&amp;#x3092;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ gem install rails --pre&lt;/pre&gt;

&lt;p&gt;Rails&amp;#x306E;&amp;#x6B63;&amp;#x3057;&amp;#x3044;&amp;#x30D0;&amp;#x30FC;&amp;#x30B8;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3089;&amp;#x3001;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x53EF;&amp;#x80FD;&amp;#x306A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x4F5C;&amp;#x6210;&amp;#x306B;&amp;#x53D6;&amp;#x308A;&amp;#x304B;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x3059;&amp;#x3067;&amp;#x306B;&amp;#x3042;&amp;#x308B;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x4E2D;&amp;#x304B;&amp;#x3089;&amp;#x4F5C;&amp;#x696D;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x4F5C;&amp;#x6210;&amp;#x306F;&amp;#x3001;&amp;#x65B0;&amp;#x898F;&amp;#x306E;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x4F5C;&amp;#x6210;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3067;&amp;#x3001;&lt;code&gt;rails new&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x552F;&amp;#x4E00;&amp;#x306E;&amp;#x9055;&amp;#x3044;&amp;#x306F;&amp;#x3001;&lt;code&gt;rails plugin new&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x70B9;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x4ECA;&amp;#x56DE;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x6271;&amp;#x3046;&amp;#x305F;&amp;#x3081;&amp;#x3001;&lt;code&gt;uhoh&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x540D;&amp;#x524D;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x53EF;&amp;#x80FD;&amp;#x306A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&lt;code&gt;--mountable&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails plugin new uhoh --mountable&lt;/pre&gt;

&lt;p&gt;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x69CB;&amp;#x9020;&amp;#x306F;&amp;#x3001;&amp;#x901A;&amp;#x5E38;&amp;#x306E;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x69CB;&amp;#x9020;&amp;#x306B;&amp;#x3068;&amp;#x3066;&amp;#x3082;&amp;#x4F3C;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x5225;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8A2D;&amp;#x8A08;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x70B9;&amp;#x3092;&amp;#x9664;&amp;#x3051;&amp;#x3070;&amp;#x57FA;&amp;#x672C;&amp;#x7684;&amp;#x306B;&amp;#x306F;&amp;#x540C;&amp;#x3058;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3068;&amp;#x3044;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x5B9F;&amp;#x969B;&amp;#x306B;&amp;#x306F;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x306E;&amp;#x9055;&amp;#x3044;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x5168;&amp;#x4F53;&amp;#x3067;&amp;#x3001;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304C;&amp;#x3044;&amp;#x304F;&amp;#x3064;&amp;#x304B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;&amp;#x3001;&lt;code&gt;application_controller&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&lt;code&gt;/app/controllers/uhoh&lt;/code&gt;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x540C;&amp;#x3058;&amp;#x304F; &lt;code&gt;assets&lt;/code&gt;&amp;#x3001;&lt;code&gt;helpers&lt;/code&gt;&amp;#x3001;&lt;code&gt;views&lt;/code&gt;&amp;#x306E;&amp;#x5404;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;&amp;#x305D;&amp;#x308C;&amp;#x305E;&amp;#x308C;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x7F6E;&amp;#x304B;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x7D44;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x5148;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304B;&amp;#x3089;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x304D;&amp;#x308C;&amp;#x3044;&amp;#x306B;&amp;#x5207;&amp;#x308A;&amp;#x96E2;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;assets&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x6301;&amp;#x3064;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x304C;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x3068;&amp;#x304D;&amp;#x306B;&lt;code&gt;public&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3044;&amp;#x3061;&amp;#x3044;&amp;#x3061;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x30B3;&amp;#x30D4;&amp;#x30FC;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x3082;&amp;#x3044;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3059;&amp;#x3002;asset pipeline&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3053;&amp;#x308C;&amp;#x3089;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x81EA;&amp;#x52D5;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/712/original/E277I01.png" width="800" height="502" alt="&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x914D;&amp;#x7F6E;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3082;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3055;&amp;#x308C;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3089;&amp;#x306B;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x305D;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3092;&amp;#x4ECB;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;layouts&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x3082;&amp;#x5F53;&amp;#x3066;&amp;#x306F;&amp;#x307E;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;RC5&amp;#x306B;&amp;#x306F;&amp;#x30D0;&amp;#x30B0;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x3067;&amp;#x3001;&lt;code&gt;application.html.erb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;2&amp;#x3064;&amp;#x5B58;&amp;#x5728;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x3001;&lt;code&gt;uhoh&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306E;&amp;#x5916;&amp;#x306B;&amp;#x3042;&amp;#x308B;&amp;#x65B9;&amp;#x3092;&amp;#x524A;&amp;#x9664;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x3082;&amp;#x3046;&amp;#x4E00;&amp;#x3064;&amp;#x306E;&amp;#x65B9;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x306E;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3078;&amp;#x306E;&amp;#x53C2;&amp;#x7167;&amp;#x306F;&amp;#x3059;&amp;#x3079;&amp;#x3066;&lt;code&gt;uhoh&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304C;&amp;#x8FFD;&amp;#x52A0;&amp;#x3067;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x753B;&amp;#x50CF;&amp;#x3084;&amp;#x305D;&amp;#x306E;&amp;#x4ED6;&amp;#x306E;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x306B;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3092;&amp;#x542B;&amp;#x3080;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;


&lt;p class="codeFilePath"&gt;/app/views/layouts/uhoh/application.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html&amp;gt;
&amp;lt;head&amp;gt;
  &amp;lt;title&amp;gt;Uhoh&amp;lt;/title&amp;gt;
  &amp;lt;%= stylesheet_link_tag    &amp;quot;uhoh/application&amp;quot; %&amp;gt;
  &amp;lt;%= javascript_include_tag &amp;quot;uhoh/application&amp;quot; %&amp;gt;
  &amp;lt;%= csrf_meta_tags %&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;%= yield %&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x6B21;&amp;#x306B;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30AD;&amp;#x30FC;&amp;#x3068;&amp;#x306A;&amp;#x308B;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x3072;&amp;#x3068;&amp;#x3064;&amp;#x3067;&amp;#x3042;&amp;#x308B;&amp;#x3001;&lt;code&gt;/lib/uhoh&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x5185;&amp;#x306E;&lt;code&gt;engine.rb&lt;/code&gt;&amp;#x3092;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/lib/uhoh/engine.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;module Uhoh
  class Engine &amp;lt; Rails::Engine
    isolate_namespace Uhoh
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306F;&lt;code&gt;Rails::Engine&lt;/code&gt;&amp;#x304B;&amp;#x3089;&amp;#x7D99;&amp;#x627F;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x3067;&amp;#x3001;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3092;&amp;#x30AB;&amp;#x30B9;&amp;#x30BF;&amp;#x30DE;&amp;#x30A4;&amp;#x30BA;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306E;&amp;#x4E2D;&amp;#x5FC3;&amp;#x7684;&amp;#x306A;&amp;#x5834;&amp;#x6240;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306B;&amp;#x306F;&amp;#x6700;&amp;#x521D;&amp;#x304B;&amp;#x3089;&lt;code&gt;isolate_namespace&lt;/code&gt;&amp;#x306E;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x3064;&amp;#x307E;&amp;#x308A;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x304C;&amp;#x72EC;&amp;#x7ACB;&amp;#x3057;&amp;#x305F;&amp;#x5358;&amp;#x4F4D;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x6271;&amp;#x308F;&amp;#x308C;&amp;#x3001;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x5148;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6C17;&amp;#x306B;&amp;#x3057;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x3082;&amp;#x3044;&amp;#x3044;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x610F;&amp;#x5473;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306E;&amp;#x3053;&amp;#x306E;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&amp;#x6982;&amp;#x8981;&amp;#x3067;&amp;#x7D39;&amp;#x4ECB;&amp;#x3059;&amp;#x308B;&amp;#x6700;&amp;#x5F8C;&amp;#x306E;&amp;#x30D1;&amp;#x30FC;&amp;#x30C4;&amp;#x306F;&amp;#x3001;&lt;code&gt;/test&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;code&gt;/test/dummy&lt;/code&gt;&amp;#x306E;&amp;#x4E0B;&amp;#x306B;&amp;#x306F;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x304C;&amp;#x3069;&amp;#x3046;&amp;#x3044;&amp;#x3046;&amp;#x4ED5;&amp;#x7D44;&amp;#x307F;&amp;#x3067;&amp;#x52D5;&amp;#x304F;&amp;#x304B;&amp;#x3092;&amp;#x7406;&amp;#x89E3;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&lt;code&gt;config&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x306F;&lt;code&gt;routes.rb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x3053;&amp;#x306B;&amp;#x306F;&lt;code&gt;mount&lt;/code&gt;&amp;#x306E;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3001; &amp;#x30D1;&amp;#x30B9;&amp;#x306B;&amp;#x5272;&amp;#x308A;&amp;#x5F53;&amp;#x3066;&amp;#x3089;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30E1;&amp;#x30A4;&amp;#x30F3;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x304C;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/test/dummy/config/routes.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;Rails.application.routes.draw do
  mount Uhoh::Engine =&amp;gt; &amp;quot;/uhoh&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x3001;&amp;#x9069;&amp;#x5F53;&amp;#x306A;&amp;#x30D1;&amp;#x30B9;&amp;#x3092;&amp;#x6C7A;&amp;#x3081;&amp;#x3066;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x4F5C;&amp;#x696D;&amp;#x306F;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3092;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x3057;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x306F;&amp;#x8AB0;&amp;#x304B;&amp;#x304C;&amp;#x884C;&amp;#x3046;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;Rack&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;/uhoh&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x30EA;&amp;#x30AF;&amp;#x30A8;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x6765;&amp;#x305F;&amp;#x5834;&amp;#x5408;&amp;#x306F;&lt;code&gt;Engine&lt;/code&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x306B;&amp;#x6E21;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x884C;&amp;#x3092;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;README&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x624B;&amp;#x9806;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x542B;&amp;#x3080;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x304C;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306E;&amp;#x4E2D;&amp;#x3067;&amp;#x3069;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3044;&amp;#x304B;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x3063;&amp;#x3066;&amp;#x4FBF;&amp;#x5229;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30C0;&amp;#x30DF;&amp;#x30FC;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306F;&lt;code&gt;/test&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x5185;&amp;#x306B;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x624B;&amp;#x4F5C;&amp;#x696D;&amp;#x3067;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x884C;&amp;#x3046;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x3082;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3064;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x304B;&amp;#x3089;&lt;code&gt;rails s&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30C0;&amp;#x30DF;&amp;#x30FC;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;a href="http://localhost:3000/uhoh/"&gt;&lt;code&gt;http://localhost:3000/uhoh/&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x5834;&amp;#x6240;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x753B;&amp;#x9762;&amp;#x306B;&amp;#x5C0E;&amp;#x304B;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x305D;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x5BFE;&amp;#x5FDC;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3092;&amp;#x8A18;&amp;#x8FF0;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x306A;&amp;#x3044;&amp;#x305F;&amp;#x3081;&amp;#x3001;&amp;#x30A8;&amp;#x30E9;&amp;#x30FC;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x305D;&amp;#x3053;&amp;#x3067;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x306B;&lt;code&gt;failures&lt;/code&gt;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x901A;&amp;#x5E38;&amp;#x306E;Rails&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3001;Rails&amp;#x306E;&amp;#x30B8;&amp;#x30A7;&amp;#x30CD;&amp;#x30EC;&amp;#x30FC;&amp;#x30BF;&amp;#x3092;&amp;#x4F7F;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x306B;&amp;#x3044;&amp;#x3066;&amp;#x3082;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3092;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3067;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x306A;&amp;#x304F;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x81EA;&amp;#x52D5;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;pre class="terminal"&gt;$ rails g controller failures index&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x304C;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305F;&amp;#x3060;&amp;#x9055;&amp;#x3046;&amp;#x306E;&amp;#x306F;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x304C;&amp;#x6B63;&amp;#x3057;&amp;#x3044;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x6B21;&amp;#x306B;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x306E;index&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&lt;code&gt;root&lt;/code&gt;&amp;#x306E;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;(route)&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x4FEE;&amp;#x6B63;&amp;#x306F;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&lt;code&gt;/config/routes.rb&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x884C;&amp;#x308F;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/config/routes.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;Uhoh::Engine.routes.draw do
  root :to =&amp;gt; &amp;quot;failures#index&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://localhost:3000/uhoh/"&gt;&lt;code&gt;http://localhost:3000/uhoh/&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/713/original/E277I02.png" width="801" height="280" alt="index&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x306E;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x306E;&amp;#x30C6;&amp;#x30AD;&amp;#x30B9;&amp;#x30C8;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3067;&amp;#x306F;&amp;#x3001;&amp;#x767A;&amp;#x751F;&amp;#x3057;&amp;#x305F;&amp;#x4F8B;&amp;#x5916;&amp;#x306E;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x4FDD;&amp;#x5B58;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306E;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30E1;&amp;#x30C3;&amp;#x30BB;&amp;#x30FC;&amp;#x30B8;&amp;#x30D5;&amp;#x30A3;&amp;#x30FC;&amp;#x30EB;&amp;#x30C9;&amp;#x3092;&amp;#x6301;&amp;#x3063;&amp;#x305F;&amp;#x7C21;&amp;#x5358;&amp;#x306A;&lt;code&gt;Failure&lt;/code&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="terminal"&gt;$ rails g model failure message:text&lt;/pre&gt;

&lt;p&gt;&amp;#x30E2;&amp;#x30C7;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x304C;&amp;#x3001;&amp;#x3069;&amp;#x3046;&amp;#x3084;&amp;#x3063;&amp;#x3066;&amp;#x30DE;&amp;#x30A4;&amp;#x30B0;&amp;#x30EC;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3044;&amp;#x306E;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;&amp;#x3002;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x3067;&amp;#x306F;&amp;#x901A;&amp;#x5E38;&amp;#x901A;&amp;#x308A;&lt;code&gt;rake db:migrate&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3067;&amp;#x304D;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306F;&amp;#x671F;&amp;#x5F85;&amp;#x901A;&amp;#x308A;&amp;#x306B;&amp;#x52D5;&amp;#x4F5C;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3057;&amp;#x304B;&amp;#x3057;&amp;#x3001;&amp;#x8AB0;&amp;#x304B;&amp;#x304C;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3092;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x5185;&amp;#x306B;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3057;&amp;#x3088;&amp;#x3046;&amp;#x3068;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3046;&amp;#x307E;&amp;#x304F;&amp;#x884C;&amp;#x304D;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&lt;code&gt;rake&lt;/code&gt;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x304C;&amp;#x3001;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x306E;migration&amp;#x3092;&amp;#x8A8D;&amp;#x8B58;&amp;#x3067;&amp;#x304D;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30E6;&amp;#x30FC;&amp;#x30B6;&amp;#x306B;&amp;#x5BFE;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&lt;code&gt;rake uhoh:install:migrations&lt;/code&gt;&amp;#x3092;&amp;#x5B9F;&amp;#x884C;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x6307;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x304C;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30B3;&amp;#x30DE;&amp;#x30F3;&amp;#x30C9;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;migration&amp;#x3092;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30B3;&amp;#x30D4;&amp;#x30FC;&amp;#x3057;&amp;#x305F;&amp;#x4E0A;&amp;#x3067;&lt;code&gt;rake db:migrate&lt;/code&gt;&amp;#x3092;&amp;#x901A;&amp;#x5E38;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x5B9F;&amp;#x884C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x60C5;&amp;#x5831;&amp;#x3092;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x30A4;&amp;#x30F3;&amp;#x30B9;&amp;#x30C8;&amp;#x30FC;&amp;#x30EB;&amp;#x624B;&amp;#x9806;&amp;#x66F8;&amp;#x306B;&amp;#x5165;&amp;#x308C;&amp;#x3066;&amp;#x304A;&amp;#x304F;&amp;#x306E;&amp;#x304C;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;Rails&amp;#x30B3;&amp;#x30F3;&amp;#x30BD;&amp;#x30FC;&amp;#x30EB;&amp;#x3082;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x3067;&amp;#x671F;&amp;#x5F85;&amp;#x901A;&amp;#x308A;&amp;#x306B;&amp;#x6A5F;&amp;#x80FD;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&lt;code&gt;Failure&lt;/code&gt;&amp;#x306E;&amp;#x4F8B;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3066;&amp;#x307F;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;pre class="ruby"&gt;Uhoh::Failure.create!(:message =&amp;gt; &amp;quot;hello world!&amp;quot;)&lt;/pre&gt;

&lt;p&gt;&amp;#x30AF;&amp;#x30E9;&amp;#x30B9;&amp;#x3092;&amp;#x53C2;&amp;#x7167;&amp;#x3059;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3064;&amp;#x306D;&amp;#x306B;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3092;&amp;#x542B;&amp;#x307E;&amp;#x306A;&amp;#x304F;&amp;#x3066;&amp;#x306F;&amp;#x3044;&amp;#x3051;&amp;#x306A;&amp;#x3044;&amp;#x70B9;&amp;#x306B;&amp;#x7559;&amp;#x610F;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x3060;&amp;#x3055;&amp;#x3044;&amp;#x3002;Failure&amp;#x306E;&amp;#x30EC;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x308C;&amp;#x3092;&lt;code&gt;FailuresController&lt;/code&gt;&amp;#x306E;&lt;code&gt;index&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x8868;&amp;#x793A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002; &lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/controllers/uhoh/failures_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;module Uhoh
  class FailuresController &amp;lt; ApplicationController
    def index
      @failures = Failure.all
    end
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30B3;&amp;#x30F3;&amp;#x30BD;&amp;#x30FC;&amp;#x30EB;&amp;#x306B;&amp;#x3044;&amp;#x308B;&amp;#x5834;&amp;#x5408;&amp;#x3068;&amp;#x9055;&amp;#x3044;&amp;#x3001;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x306F;&amp;#x3059;&amp;#x3067;&amp;#x306B;&lt;code&gt;Uhoh&lt;/code&gt;&amp;#x30E2;&amp;#x30B8;&amp;#x30E5;&amp;#x30FC;&amp;#x30EB;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&amp;#x3044;&amp;#x308B;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x540D;&amp;#x524D;&amp;#x7A7A;&amp;#x9593;&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3059;&amp;#x308B;&amp;#x5FC5;&amp;#x8981;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&amp;#x30D3;&amp;#x30E5;&amp;#x30FC;&amp;#x3067;&amp;#x3001;&amp;#x3059;&amp;#x3079;&amp;#x3066;&amp;#x306E;failure&amp;#x3092;&amp;#x30EB;&amp;#x30FC;&amp;#x30D7;&amp;#x3059;&amp;#x308B;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x3092;&amp;#x66F8;&amp;#x304D;&amp;#x3001;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/uhoh/failures/index.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;h1&amp;gt;Failures&amp;lt;/h1&amp;gt;
&amp;lt;ul&amp;gt;
  &amp;lt;% for failure in @failures %&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;%= failure.message %&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;% end %&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x305F;&lt;code&gt;Failure&lt;/code&gt;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/714/original/E277I03.png" width="801" height="280" alt="failure&amp;#x304C;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;h3&gt;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x3068;&amp;#x3089;&amp;#x3048;&amp;#x308B;&lt;/h3&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;failure&amp;#x3092;&amp;#x8A18;&amp;#x9332;&amp;#x3059;&amp;#x308B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x305F;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x304C;&amp;#x7D44;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x305F;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x767A;&amp;#x751F;&amp;#x3055;&amp;#x305B;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306B;failure&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x30C0;&amp;#x30DF;&amp;#x30FC;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x30B7;&amp;#x30DF;&amp;#x30E5;&amp;#x30EC;&amp;#x30FC;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x65B9;&amp;#x6CD5;&amp;#x304C;&amp;#x5FC5;&amp;#x8981;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;dummy&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x79FB;&amp;#x52D5;&amp;#x3057;&amp;#x3001;&lt;code&gt;simulate&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30B3;&amp;#x30F3;&amp;#x30C8;&amp;#x30ED;&amp;#x30FC;&amp;#x30E9;&amp;#x3068;&amp;#x305D;&amp;#x306E;&amp;#x4E2D;&amp;#x306B;&lt;code&gt;failure&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="terminal"&gt;$ rails g controller simulate failure&lt;/p&gt;

&lt;p&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x5185;&amp;#x3067;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x767A;&amp;#x751F;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/test/dummy/app/controllers/simulate_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class SimulateController &amp;lt; ApplicationController
  def failure
    raise &amp;quot;Simulating an exception&amp;quot;
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x3067;&amp;#x305D;&amp;#x306E;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x671F;&amp;#x5F85;&amp;#x901A;&amp;#x308A;&amp;#x306B;&amp;#x4F8B;&amp;#x5916;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/715/original/E277I04.png" width="800" height="420" alt="&amp;#x30D6;&amp;#x30E9;&amp;#x30A6;&amp;#x30B6;&amp;#x306B;&amp;#x4F8B;&amp;#x5916;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x4F8B;&amp;#x5916;&amp;#x306E;&amp;#x767A;&amp;#x751F;&amp;#x3092;&amp;#x5F85;&amp;#x6A5F;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x767A;&amp;#x751F;&amp;#x3057;&amp;#x305F;&amp;#x3089;&amp;#x65B0;&amp;#x898F;&amp;#x306E;&lt;code&gt;Failure&lt;/code&gt;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x89E3;&amp;#x6C7A;&amp;#x7B56;&amp;#x306F;&amp;#x52B9;&amp;#x7387;&amp;#x7684;&amp;#x3067;&amp;#x306F;&amp;#x306A;&amp;#x3044;&amp;#x304B;&amp;#x3082;&amp;#x3057;&amp;#x308C;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x30B7;&amp;#x30F3;&amp;#x30D7;&amp;#x30EB;&amp;#x3067;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x5834;&amp;#x5408;&amp;#x306B;&amp;#x306F;&amp;#x5341;&amp;#x5206;&amp;#x5F79;&amp;#x306B;&amp;#x7ACB;&amp;#x3061;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3067;&amp;#x306F;&amp;#x307E;&amp;#x305A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x306B;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;(initializer)&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;config&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x306F;&lt;code&gt;initializers&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x81EA;&amp;#x5206;&amp;#x3067;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x3053;&amp;#x306B;&amp;#x521D;&amp;#x671F;&amp;#x5316;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x7F6E;&amp;#x304F;&amp;#x3068;&amp;#x8A8D;&amp;#x8B58;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x306E;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&lt;code&gt;exception_handler.rb&lt;/code&gt;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;


&lt;p class="codeFilePath"&gt;/app/config/exception_handler.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;ActiveSupport::Notifications.subscribe &amp;crarr;
  &amp;quot;process_action.action_controller&amp;quot; do &amp;crarr;
  |name, start, finish, id, payload|
  if payload[:exception]
    name, message = *payload[:exception]
    Uhoh::Failure.create!(:message =&amp;gt; message)
  end
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3067;&amp;#x3001;notification&amp;#x3092;&amp;#x8CFC;&amp;#x8AAD;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;(notification&amp;#x306B;&amp;#x3064;&amp;#x3044;&amp;#x3066;&amp;#x306F;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;249[&lt;a href="http://railscasts.com/episodes/249-notifications-in-rails-3"&gt;&amp;#x52D5;&amp;#x753B;&amp;#x3092;&amp;#x898B;&amp;#x308B;&lt;/a&gt;, &lt;a href="http://asciicasts.com/episodes/249-notifications-in-rails-3"&gt;&amp;#x8AAD;&amp;#x3080;&lt;/a&gt;]&amp;#x3067;&amp;#x8A73;&amp;#x3057;&amp;#x304F;&amp;#x89E3;&amp;#x8AAC;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x307E;&amp;#x3059;)&amp;#x3002;&amp;#x5BFE;&amp;#x8C61;&amp;#x306F;&amp;#x3001;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3068;&amp;#x304D;&amp;#x306B;&amp;#x901A;&amp;#x77E5;&amp;#x3057;&amp;#x3066;&amp;#x304F;&amp;#x308C;&amp;#x308B;notification&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304C;&amp;#x51E6;&amp;#x7406;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3089;&amp;#x3001;&lt;code&gt;payload&lt;/code&gt;&amp;#x306B;&amp;#x4F8B;&amp;#x5916;&amp;#x304C;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x308B;&amp;#x304B;&amp;#x3069;&amp;#x3046;&amp;#x304B;&amp;#x3092;&amp;#x30C1;&amp;#x30A7;&amp;#x30C3;&amp;#x30AF;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3082;&amp;#x3057;&amp;#x542B;&amp;#x307E;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x305F;&amp;#x3089;&amp;#x4F8B;&amp;#x5916;&amp;#x304C;&amp;#x767A;&amp;#x751F;&amp;#x3057;&amp;#x305F;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30E1;&amp;#x30C3;&amp;#x30BB;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x65B0;&amp;#x898F;&amp;#x306E;&lt;code&gt;Failure&lt;/code&gt;&amp;#x306B;&amp;#x4FDD;&amp;#x5B58;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x30C6;&amp;#x30B9;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x524D;&amp;#x306B;&amp;#x30B5;&amp;#x30FC;&amp;#x30D0;&amp;#x3092;&amp;#x518D;&amp;#x8D77;&amp;#x52D5;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x3057;&amp;#x3066;&amp;#x518D;&amp;#x5EA6;&lt;a href="http://localhost:3000/simulate/failure"&gt;&lt;code&gt;http://localhost:3000/simulate/failure&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x3066;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x767A;&amp;#x751F;&amp;#x3055;&amp;#x305B;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x5916;&amp;#x304C;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x3089;&amp;#x3001;&lt;a href="http://localhost:3000/uhoh"&gt;&lt;code&gt;http://localhost:3000/uhoh&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x898B;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/716/original/E277I05.png" width="800" height="420" alt="&amp;#x65B0;&amp;#x3057;&amp;#x3044;&amp;#x4F8B;&amp;#x5916;&amp;#x304C;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x306B;&amp;#x8868;&amp;#x793A;&amp;#x3055;&amp;#x308C;&amp;#x308B;"/&gt;
&lt;/div&gt;

&lt;h3&gt;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3067;URL&amp;#x3092;&amp;#x6271;&amp;#x3046;&lt;/h3&gt;

&lt;p&gt;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5185;&amp;#x3067;&amp;#x4F7F;&amp;#x7528;&amp;#x3059;&amp;#x308B;URL&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x306F;&amp;#x3001;&amp;#x305D;&amp;#x306E;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x5411;&amp;#x3051;&amp;#x306E;URL&amp;#x3092;&amp;#x751F;&amp;#x6210;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x4F8B;&amp;#x3048;&amp;#x3070;failures&amp;#x306E;&lt;code&gt;index&lt;/code&gt;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x304B;&amp;#x3089;root URL&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x3053;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x306F;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;root URL&amp;#x3092;&amp;#x6307;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x3066;&amp;#x3001;&amp;#x7D44;&amp;#x307F;&amp;#x8FBC;&amp;#x307E;&amp;#x308C;&amp;#x305F;&amp;#x5148;&amp;#x306E;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;root&amp;#x3067;&amp;#x306F;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/uhoh/failures/index.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;p&amp;gt;&amp;lt;%= link_to &amp;quot;Failures&amp;quot;, root_url %&amp;gt;&amp;lt;/p&amp;gt;&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x306F;&lt;a href="http://localhost:3000/uhoh"&gt;&lt;code&gt;http://localhost:3000/uhoh&lt;/code&gt;&lt;/a&gt;&amp;#x3092;&amp;#x6307;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x304C;&amp;#x3001;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;root URL&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x306F;&amp;#x3001;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&amp;#x3042;&amp;#x308B;&amp;#x306E;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x3068;&amp;#x3044;&amp;#x3046;&amp;#x306E;&amp;#x3082;root URL&amp;#x306F;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3067;&lt;code&gt;FailuresController&lt;/code&gt;&amp;#x306E;&lt;code&gt;index&lt;/code&gt;&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x6307;&amp;#x3059;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x5B9A;&amp;#x7FA9;&amp;#x3055;&amp;#x308C;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x304B;&amp;#x3089;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x81EA;&amp;#x4F53;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x4F5C;&amp;#x6210;&amp;#x3059;&amp;#x308B;&amp;#x306B;&amp;#x306F;&amp;#x3001;&amp;#x6B21;&amp;#x306E;&amp;#x3088;&amp;#x3046;&amp;#x306B;&lt;code&gt;main_app&lt;/code&gt;&amp;#x306E;URL&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x3092;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/uhoh/failures/index.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;p&amp;gt;&amp;lt;%= link_to &amp;quot;Failures&amp;quot;, root_url %&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;%= link_to &amp;quot;Simulate Failure&amp;quot;, main_app.simulate_failure_path %&amp;gt;&amp;lt;/p&amp;gt;&lt;/pre&gt;
  
&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306B;&amp;#x3088;&amp;#x3063;&amp;#x3066;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;Simulate Failure&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3078;&amp;#x306E;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x304C;&lt;a href="http://localhost:3000/simulate/failure"&gt;&lt;code&gt;http://localhost:3000/simulate/failure&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x4F5C;&amp;#x6210;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt; 

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x306E;&amp;#x53CD;&amp;#x5BFE;&amp;#x3067;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x304B;&amp;#x3089;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306B;&amp;#x30EA;&amp;#x30F3;&amp;#x30AF;&amp;#x3092;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x305F;&amp;#x3044;&amp;#x5834;&amp;#x5408;&amp;#x306F;&amp;#x3069;&amp;#x3046;&amp;#x3059;&amp;#x308C;&amp;#x3070;&amp;#x3044;&amp;#x3044;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x304B;? &amp;#x307E;&amp;#x305A;&amp;#x6700;&amp;#x521D;&amp;#x306B;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x306F;&amp;#x3001;&amp;#x30A2;&amp;#x30D7;&amp;#x30EA;&amp;#x30B1;&amp;#x30FC;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x306E;&amp;#x30EB;&amp;#x30FC;&amp;#x30C8;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3092;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3092;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x3057;&amp;#x3066;&amp;#x305D;&amp;#x308C;&amp;#x306B;&lt;code&gt;:as&lt;/code&gt;&amp;#x30AA;&amp;#x30D7;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3067;&amp;#x540D;&amp;#x524D;&amp;#x3092;&amp;#x4E0E;&amp;#x3048;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/test/dummy/config/routes.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;Rails.application.routes.draw do

  get &amp;quot;simulate/failure&amp;quot;

  mount Uhoh::Engine =&amp;gt; &amp;quot;/uhoh&amp;quot;, :as =&amp;gt; &amp;quot;uhoh_engine&amp;quot;
end&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x3001;&lt;code&gt;uhoh_engine&lt;/code&gt;&amp;#x306E;&amp;#x30E1;&amp;#x30BD;&amp;#x30C3;&amp;#x30C9;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x547C;&amp;#x3073;&amp;#x51FA;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x3067;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;URL&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3092;&amp;#x5B9F;&amp;#x969B;&amp;#x306B;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;failure&amp;#x30A2;&amp;#x30AF;&amp;#x30B7;&amp;#x30E7;&amp;#x30F3;&amp;#x3092;&amp;#x4E00;&amp;#x6642;&amp;#x7684;&amp;#x306B;&amp;#x4FEE;&amp;#x6B63;&amp;#x3057;&amp;#x3066;&amp;#x3001;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x767A;&amp;#x751F;&amp;#x3055;&amp;#x305B;&amp;#x308B;&amp;#x4EE3;&amp;#x308F;&amp;#x308A;&amp;#x306B;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;root URL&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/test/dummy/app/controllers/simulate_controller.rb&lt;/p&gt;
&lt;pre class="ruby"&gt;class SimulateController &amp;lt; ApplicationController
  def failure
    redirect_to uhoh_engine.root_url
  end
end&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://localhost:3000/simulate/failure"&gt;&lt;code&gt;http://localhost:3000/simulate/failure&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30A2;&amp;#x30AF;&amp;#x30BB;&amp;#x30B9;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;engine&amp;#x30D8;&amp;#x30EB;&amp;#x30D1;&amp;#x30FC;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;URL&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3059;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x3066;&amp;#x3044;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x3001;&lt;a href="http://localhost:3000/uhoh"&gt;&lt;code&gt;http://localhost:3000/uhoh&lt;/code&gt;&lt;/a&gt;&amp;#x306B;&amp;#x30EA;&amp;#x30C0;&amp;#x30A4;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3053;&amp;#x308C;&amp;#x3082;&amp;#x3001;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;README&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x3067;&amp;#x8A00;&amp;#x53CA;&amp;#x3057;&amp;#x3066;&amp;#x304A;&amp;#x304F;&amp;#x3079;&amp;#x304D;&amp;#x6A5F;&amp;#x80FD;&amp;#x3067;&amp;#x3057;&amp;#x3087;&amp;#x3046;&amp;#x3002;&lt;/p&gt;

&lt;p&gt;&amp;#x3053;&amp;#x308C;&amp;#x3067;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306E;&amp;#x6A5F;&amp;#x80FD;&amp;#x306F;&amp;#x307B;&amp;#x307C;&amp;#x51FA;&amp;#x6765;&amp;#x4E0A;&amp;#x304C;&amp;#x308A;&amp;#x307E;&amp;#x3057;&amp;#x305F;&amp;#x304C;&amp;#x3001;failure&amp;#x3092;&amp;#x8868;&amp;#x793A;&amp;#x3059;&amp;#x308B;&amp;#x30EA;&amp;#x30B9;&amp;#x30C8;&amp;#x304C;&amp;#x8CEA;&amp;#x7D20;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x30A2;&amp;#x30BB;&amp;#x30C3;&amp;#x30C8;&amp;#x3092;&amp;#x4F7F;&amp;#x3063;&amp;#x3066;&amp;#x5C11;&amp;#x3057;&amp;#x5473;&amp;#x4ED8;&amp;#x3051;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x307E;&amp;#x305A;&amp;#x753B;&amp;#x50CF;&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x3042;&amp;#x3089;&amp;#x304B;&amp;#x3058;&amp;#x3081;&amp;#x9069;&amp;#x5F53;&amp;#x306A;&amp;#x753B;&amp;#x50CF;&amp;#x3092;&amp;#x898B;&amp;#x3064;&amp;#x3051;&amp;#x3066;&lt;code&gt;/app/assets/images/uhoh&lt;/code&gt;&amp;#x30C7;&amp;#x30A3;&amp;#x30EC;&amp;#x30AF;&amp;#x30C8;&amp;#x30EA;&amp;#x306B;&amp;#x7F6E;&amp;#x3044;&amp;#x3066;&amp;#x3042;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&amp;#x305D;&amp;#x308C;&amp;#x3092;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x306B;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x305F;&amp;#x3081;&amp;#x306B;&amp;#x3001;&amp;#x4ED6;&amp;#x306E;&amp;#x753B;&amp;#x50CF;&amp;#x3068;&amp;#x540C;&amp;#x3058;&amp;#x3088;&amp;#x3046;&amp;#x306B;&lt;code&gt;image_tag&lt;/code&gt;&amp;#x3092;&amp;#x4F7F;&amp;#x3046;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/views/uhoh/failures/index.html.erb&lt;/p&gt;
&lt;pre class="ruby"&gt;&amp;lt;%= image_tag &amp;quot;uhoh/alert.png&amp;quot; %&amp;gt;
&amp;lt;h1&amp;gt;Failures&amp;lt;/h1&amp;gt;
&amp;lt;ul&amp;gt;
  &amp;lt;% for failure in @failures %&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;%= failure.message %&amp;gt;&amp;lt;/li&amp;gt;
  &amp;lt;% end %&amp;gt;
&amp;lt;/ul&amp;gt;

&amp;lt;p&amp;gt;&amp;lt;%= link_to &amp;quot;Failures&amp;quot;, root_url %&amp;gt;&amp;lt;/p&amp;gt;
&amp;lt;p&amp;gt;&amp;lt;%= link_to &amp;quot;Simulate Failure&amp;quot;, &amp;crarr;
  main_app.simulate_failure_path %&amp;gt;&amp;lt;/p&amp;gt;&lt;/pre&gt;
  
&lt;p&gt;CSS&amp;#x3082;&amp;#x5C11;&amp;#x3057;&amp;#x8A2D;&amp;#x5B9A;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;SASS&amp;#x3068;CoffeeScript&amp;#x306F;&amp;#x3001;&amp;#x30C7;&amp;#x30D5;&amp;#x30A9;&amp;#x30EB;&amp;#x30C8;&amp;#x3067;&amp;#x306F;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x3067;&amp;#x306F;&amp;#x5229;&amp;#x7528;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x305B;&amp;#x3093;&amp;#x304C;&amp;#x3001;&amp;#x4F9D;&amp;#x5B58;&amp;#x95A2;&amp;#x4FC2;&amp;#x3068;&amp;#x3057;&amp;#x3066;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;code&gt;failures.css&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;CSS&amp;#x3092;&amp;#x8FFD;&amp;#x52A0;&amp;#x3059;&amp;#x308B;&amp;#x3068;&amp;#x3001;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;include&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/stylesheets/uhoh/failures.css&lt;/p&gt;
&lt;pre class="css"&gt;html, body {
  background-color: #DDD;
  font-family: Verdana;
}

body {
  padding: 20px 200px;
}

img {
  display: block;
  margin: 0 auto;
}

a {
  color: #000;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

li {
  background-color: #FFF;
  margin-bottom: 10px;
  padding: 5px 10px;
}&lt;/pre&gt;

&lt;p&gt;JavaScript&amp;#x3082;&amp;#x540C;&amp;#x3058;&amp;#x3067;&amp;#x3059;&amp;#x3002;&lt;code&gt;failures.js&lt;/code&gt;&amp;#x30D5;&amp;#x30A1;&amp;#x30A4;&amp;#x30EB;&amp;#x306B;&amp;#x8A18;&amp;#x8FF0;&amp;#x3055;&amp;#x308C;&amp;#x305F;&amp;#x30B3;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x81EA;&amp;#x52D5;&amp;#x7684;&amp;#x306B;include&amp;#x3055;&amp;#x308C;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;p class="codeFilePath"&gt;/app/assets/javascripts/uhoh/failures.js&lt;/p&gt;
&lt;pre class="javascript"&gt;$(function() {
  $(&amp;quot;li&amp;quot;).click(function() {
    $(this).slideUp();
  });
});&lt;/pre&gt;

&lt;p&gt;&amp;#x3053;&amp;#x3053;&amp;#x3067;&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;&amp;#x3092;&amp;#x518D;&amp;#x5EA6;&amp;#x8AAD;&amp;#x307F;&amp;#x8FBC;&amp;#x3080;&amp;#x3068;&amp;#x3001;&amp;#x898B;&amp;#x305F;&amp;#x76EE;&amp;#x306F;&amp;#x305A;&amp;#x3063;&amp;#x3068;&amp;#x3088;&amp;#x304F;&amp;#x306A;&amp;#x3063;&amp;#x3066;&amp;#x30AF;&amp;#x30EA;&amp;#x30C3;&amp;#x30AF;&amp;#x3057;&amp;#x3066;&amp;#x4F8B;&amp;#x5916;&amp;#x3092;&amp;#x96A0;&amp;#x3059;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x3067;&amp;#x304D;&amp;#x308B;&amp;#x3088;&amp;#x3046;&amp;#x306B;&amp;#x306A;&amp;#x308A;&amp;#x3001;JavaScript&amp;#x304C;&amp;#x6709;&amp;#x52B9;&amp;#x306B;&amp;#x306A;&amp;#x3063;&amp;#x305F;&amp;#x3053;&amp;#x3068;&amp;#x304C;&amp;#x308F;&amp;#x304B;&amp;#x308A;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;

&lt;div class="imageWrapper"&gt;
  &lt;img src="/system/photos/717/original/E277I06.png" width="799" height="436" alt="CSS&amp;#x3068;JavaScript&amp;#x304C;&amp;#x9069;&amp;#x7528;&amp;#x3055;&amp;#x308C;&amp;#x305F;failure&amp;#x30DA;&amp;#x30FC;&amp;#x30B8;"/&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#x4ECA;&amp;#x56DE;&amp;#x306E;&amp;#x30A8;&amp;#x30D4;&amp;#x30BD;&amp;#x30FC;&amp;#x30C9;&amp;#x306F;&amp;#x4EE5;&amp;#x4E0A;&amp;#x3067;&amp;#x3059;&amp;#x3002;&amp;#x30DE;&amp;#x30A6;&amp;#x30F3;&amp;#x30C8;&amp;#x53EF;&amp;#x80FD;&amp;#x306A;&amp;#x30A8;&amp;#x30F3;&amp;#x30B8;&amp;#x30F3;&amp;#x306F;Rails 3.1&amp;#x306E;&amp;#x512A;&amp;#x308C;&amp;#x305F;&amp;#x65B0;&amp;#x6A5F;&amp;#x80FD;&amp;#x306A;&amp;#x306E;&amp;#x3067;&amp;#x3001;&amp;#x4E00;&amp;#x5EA6;&amp;#x898B;&amp;#x3066;&amp;#x307F;&amp;#x308B;&amp;#x3053;&amp;#x3068;&amp;#x3092;&amp;#x304A;&amp;#x52E7;&amp;#x3081;&amp;#x3057;&amp;#x307E;&amp;#x3059;&amp;#x3002;&lt;/p&gt;</description>
      <pubDate>Sun, 28 Aug 2011 21:38:29 +0000</pubDate>
      <guid>http://ja.asciicasts.com/episodes/277-mountable-engines</guid>
      <link>http://ja.asciicasts.com/episodes/277-mountable-engines</link>
    </item>
  </channel>
</rss>

