Widget の作り方(メモ)

ruby script/generate wj_component sample
  • step 2. Widgetコントローラーの作成
ruby script/generate wj_widget sample greeting
  • step 3. sample/greeting_controller.rb のindex, edit, update を編集
class Sample::GreetingController < ApplicationController
   uses_component_template_root
   is_widget

   def index
      @name = page_widget.parameters[:name] || ""
   end

   def edit
      @name = page_widget.parameters[:name] || ""
   end

   def update
      page_widget.parameters[:name] = params[:page_widget][:name]
      @name = params[:page_widget][:name]
      render :action => "index"
   end
end
  • step 4. sample/greeting/index.rhtml の編集
<p>Hello <%=h @name %> !! </p> 
  • step 5. sample/greeting/edit.rhtml の編集
<label for="page_widget_name">message to:</label>
<%= text_field_tag 'page_widget[name]', @name, :id => 'page_widget_name' %>

こんな感じです。というのを英語で書かないと。@name がDRYじゃないなぁ。

もうちょっと詳しく