Widget の作り方(メモ)
- step 1. コンポーネントの作成
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じゃないなぁ。