Arc チャレンジがらみで Rails をいじる


ほとんど Toxic Elephant - The Arc Challenge からの丸写しですが。

said_controller.rb
class SaidController < ApplicationController
  def click_here; flash[:foo] = params['foo'] end
end
index.html.erb
<% form_tag :action => 'click_here' do %>
  <%= text_field_tag 'foo' %>
  <%= submit_tag %>
<% end %>
click_here.html.erb
<%= link_to 'click here', :action => 'you_said' %>
you_said.html.erb
you said: <%= flash[:foo] %>


戸惑った&面白いなと思った のは、ビューからコントローラのインスタンス変数を直接参照できる(そんなことができちゃうこと自体がすでに大いなるツッコミどころなわけだけれども、まあ、それは置いておくとして…)にもかかわらず、こんなふうには書けないということ。

said_controller.rb
class SaidController < ApplicationController
  def click_here; @foo = params['foo'] end
end
you_said.html.erb
you said: <%= @foo %>