我想在我的一個頁面上放置一個表單,但不想使用form_for來更新模型。我基本上使用這個過濾/搜索系統,用戶輸入內容,並根據用戶輸入的內容改變頁面。我知道這是一個非常簡單的問題,但我也對Rails有點新鮮。使用表單輸入而不更新模型Ruby on Rails
注意:如果我只能得到輸入值,我可以過濾結果。我只需要訪問我的控制器中的輸入值。
我想在我的一個頁面上放置一個表單,但不想使用form_for來更新模型。我基本上使用這個過濾/搜索系統,用戶輸入內容,並根據用戶輸入的內容改變頁面。我知道這是一個非常簡單的問題,但我也對Rails有點新鮮。使用表單輸入而不更新模型Ruby on Rails
注意:如果我只能得到輸入值,我可以過濾結果。我只需要訪問我的控制器中的輸入值。
只需使用form_for
與符號作爲參數,而不是一個實例變量。
您可以通過引用您的參數來訪問您的控制器中的表單數據,就像您通常那樣。比方說,你有一個形式有點像這樣:
<%= form_for :search do |f| %>
<%= f.text_field :query %>
<%= f.submit %>
<% end %>
然後,您會在您的控制器調用params[:search][:query]
獲得搜索表單的內容。
http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for
你需要meta_search
<%= form_for @search, :url => articles_path, :html => {:method => :get} do |f| %>
<%= f.label :title_contains %>
<%= f.text_field :title_contains %><br />
<%= f.label :comments_created_at_greater_than, 'With comments after' %>
<%= f.datetime_select :comments_created_at_greater_than, :include_blank => true %><br />
<!-- etc... -->
<%= f.submit %>
<% end %>
所以如果我這樣做,我會用PARAMS [:搜索] [:title_contains]獲得的第一個文本字段中的值? – arc
是的,你可以,'params [:search]'是一個典型的散列。 – greatghoul
如何訪問傳入此表單的值?如果我在頁面上使用它們,請說「關係」,我如何在關係控制器中訪問它們? – arc
通過引用你的參數,就像你通常一樣。 – depa