隨筆-167  評論-65  文章-0  trackbacks-0

          更詳細的介紹,請查看rails API

          表單:

          ajax表單:

           <% form_remote_tag :url => { :action => 'register' } do %>

          .................

          <% end %>

          或者

          <%= form_remote_tag(:url => { :action => 'forgot' }) %>

          .........................

          <%= form_tag %>

          傳統表單方式:

           <% form_tag({:controller=>"*",:action=>"*"},:name=>"searchform",:method=>"post",:multipart=>"true"})  do %>

          <% end %>

          文本框:

          (1),用戶名:<%= text_field 'user','name' , :size=>20 %> 等同于  <%= text_field :user,:name, :size=>20 %>

          controller中取值:params[:user][:name]

          (2)組名:<%= text_field_tag :name,@group_name  %>

          controller中取值 params[:name],@group_name是默認值,可以從controller中傳值到這里(一般是把form放到partial中)

          密碼框:
          密碼:<%= password_field 'user','password' ,:size=>20 %>

          controller中取值 params[:user][:password]

          文本區:

          組備注: <%= text_area_tag  :comment,@group_comment %>

          controller中取值:params[:comment],默認值@group_comment

          單選按鈕:

          是否收費:<%= radio_button_tag 'fee','1', false %> 是  <%= radio_button_tag 'fee','0',false %> 否

          controller中取值: params[:fee]

          下拉列表:

          (1),狀態:  <%= select_tag :trend, options_for_select([["正常", "1"],
          ["禁用", "0"]],
          [@status, @status_value]) %>

          controller中取值 params[:trend],@status是顯示的值,@status_value是傳出去的值

          (2),

          <%= select_tag 'charge', options_from_collection_for_select(@charge,'price','level',1) %>

          @charge是從controller中傳過來的值集合

          發送表單:

          <%= submit_tag '添加',{ :name=>'newgroup' } %>

          后面的{}內是name屬性值 例如可以再controller中取值 params[:newgroup] 得出的值是 : 添加

          注意點:

          1,rhtml中可以使用原始方式 不信你查看下頁面源碼就知道了,例如:

          (1),<label><input type="submit" name="newgroup" value="添加" /></label>

          這個和上面的發送表單效果一樣

          (2),但是使用這種方式有時在不同的瀏覽器里會有bug,例如:

          <label>是否收費:  &nbsp;&nbsp; <input type="radio" name="fee" value = "1">是
          <input type="radio" name="fee" value = "0">否<br>
          </label>

          在ie,opera,chrome都可以正常使用,但是在FF中就不可以使用,所以建議還是使用rails自帶的方式書寫

          2,一般rails自帶的都有兩種書寫方式,后期出現了*_tag的方法,就如上面的 文本框 但是建議用 *_tag的方式表達

          3,'user' 和 :user 的都是參數的表示的方式,但是建議使用后者,這樣更符合rails的規范寫法!

          待續...........



          write by feng
          posted on 2009-04-15 18:11 fl1429 閱讀(3115) 評論(1)  編輯  收藏 所屬分類: Rails

          評論:
          # re: Rails 表單小結 2011-05-09 20:34 | 調皮丫頭
          我想請教一下復選框那塊的問題~~能加一下您的qq嗎?我的是137251026  回復  更多評論
            
          已訪問數:
          free counters
          主站蜘蛛池模板: 岳西县| 辉县市| 疏勒县| 广宁县| 临清市| 左云县| 舞钢市| 来宾市| 班戈县| 仁寿县| 义马市| 龙海市| 三亚市| 大田县| 齐齐哈尔市| 当阳市| 安乡县| 抚远县| 双辽市| 彰化县| 罗山县| 长沙市| 河津市| 宾阳县| 徐州市| 崇州市| 唐山市| 古丈县| 房产| 安乡县| 革吉县| 新河县| 孙吴县| 东阿县| 慈利县| 灵宝市| 株洲县| 尤溪县| 绥化市| 和平区| 都兰县|