<%= form_tag(groups_path, method: "get") do %>
<%= label_tag(:q) %>
<%= text_field_tag(:q) %>
<%= submit_tag("搜索") %>
<% end %>
<%= @a %>
</div>
groups_path :處理的路徑
:q 將被存在 controller 裡相對路徑的 method 裡
此範例是 groupscontroller.rb的 index 裡如下
def index
@groups = Group.all
a = params[:q]
end
加入一行a = params[:q] 用a 或者 @a來存資料
http://guides.ruby-china.org/form_helpers.html
http://rails.ruby.tw/working_with_javascript_in_rails.html
http://guides.ruby-china.org/form_helpers.html
http://rails.ruby.tw/working_with_javascript_in_rails.html
對網頁應用程式來說,表單是非常重要的用戶輸入介面。Rails在這方面也提供了很多好用的Helper方法。基本上,Rails處理表單分成兩種類型:
一種是對應到Model物件的新增、修改,我們會使用
form_for
這個Helper。它的好處在於透過傳入Model物件,可以在修改的時候自動幫你將預設值帶入。例如我們已經在Part1使用過的event表單:<%= form_for @event do |f| %>
<%= f.text_field :name %>
<%= f.submit %>
<% end %>
另一種是就是沒有對應Model的表單,我們使用
form_tag
這個方法。例如:<%= form_tag "/search" do %>
<%= text_field_tag :keyword %>
<%= submit_tag %>
<% end %>
和
form_for
有些類似,但是其中不需要傳Block變數f
,其中的欄位Helper需要多加_tag結尾。不像form_for
的欄位名稱一定要是Model的屬性之一,在form_tag
之中的欄位名稱則完全不受限。form_tag 是啥?跟 form_for 有什麼不一樣?
Adler @ 2015-07-18
沒有留言:
張貼留言