• このエントリーをはてなブックマークに追加

  • railsのフォームでテキスト入力欄を作る(モデル連携なし版)

    2013-05-08 05:00
    ●コントローラ(アクション)
    # coding: utf-8
    class TopController < ApplicationController
      def index
    @name = params[:name]
    @mail = params[:mail]
    @address = params[:address]
      end
    end

    ●ビュー(フォーム入力)
    <%= form_tag({ :controller => 'top', :action => 'index' }, { :method => :get, :id => 'fm' }) do %>
      <p>お名前 <%= text_field_tag :name, '', { :size => 25 } %></p>
      <p>メールアドレス <%= text_field_tag :mail, '', { :size => 25 } %></p>
      <p>ご住所 <%= text_field_tag :address, '', { :size => 25 } %></p>
      <%= submit_tag ' 送信する ' %>
    <% end %>

    ●ビュー(表示)
    <p>あなたが入力した「お名前」 <%= @name %></p>
    <p>あなたが入力した「メールアドレス」 <%= @mail %></p>
    <p>あなたが入力した「ご住所」 <%= @address %></p>

    ●解説
    フォームから入力されたテキスト情報を取得し、画面に表示する、という簡単な処理である。
    params取得時のキー情報と、その情報を格納する変数は、必ずしも同名である必要はないが
    同名に統一しておいたほうが分かりやすい(ソースの可読性が高い)だろう。
  • railsでラジオボタンの初期値を変数で指定する方法

    2013-05-08 04:08
    ●コントローラ
    # coding: utf-8
    class TopController < ApplicationController
      def index
    @hoge = true
      end
    end

    ●ビュー
    <%= form_tag({ :controller => 'top', :action => 'index' }, { :method => :get, :id => 'fm' }) do %>
    <p>
    リンゴ<%= radio_button 'page', 'fruit', 'りんご', {} %> 
    ミカン<%= radio_button 'page', 'fruit', 'みかん', {:checked => @hoge}  %> 
    バナナ<%= radio_button 'page', 'fruit', 'ばなな', {} %> 
    ピーチ<%= radio_button 'page', 'fruit', 'ぴーち', {} %> 
    グレープ<%= radio_button 'page', 'fruit', 'ぐれーぷ', {} %> 
    </p>
      <%= submit_tag ' 送信する ' %>
    <% end %>


    ●解説
    コントローラ側で @hoge = true を指定している。
    これがビュー側で {:checked => @hoge} に設定される。つまり
    {:checked => true} を指定したことになり、
    デフォルトでみかんが選ばれたラジオボタンとなる。
  • railsのラジオボタンで初期選択状態にしたい場合

    2013-05-08 03:43
    {:checked => true} をつけると、初期選択状態になる。

    東京<%= radio_button 'page', 'area', 'とうきょう', {} %> 
    大阪<%= radio_button 'page', 'area', 'おおさか', {:checked => true}  %> 
    名古屋<%= radio_button 'page', 'area', 'なごや', {} %> 

    の場合、大阪がデフォルトで選択された状態となる。