2014-01-26 3 views
0

내 페이지 중 하나에 양식을 넣고 싶지만 form_for를 사용하여 모델을 업데이트하고 싶지는 않습니다. 나는 기본적으로 사용자가 무언가를 입력하고 페이지가 사용자 입력 내용에 따라 변경되는 필터링/검색 시스템과 같이 이것을 사용하고 있습니다. 나는 이것이 매우 간단한 문제라는 것을 알고 있지만 레일스에게 조금 익숙하다.모델을 업데이트하지 않고 양식 입력 사용하기 Ruby on Rails

참고 : 입력 값을 얻을 수만 있다면 결과를 필터링 할 수 있습니다. 컨트롤러의 입력 값에 액세스해야합니다.

답변

1

meta_search이 필요합니다.

평소와 같이 매개 변수를 참조하여 컨트롤러의 양식 데이터에 액세스 할 수 있습니다. 의는이처럼 좀 폼이 있다고 가정 해 봅시다 :

<%= 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

+0

이 양식에 전달 된 값은 어떻게 액세스합니까? 페이지에서 사용하는 경우 "관계"라고 말하면 관계 컨트롤러에서 어떻게 액세스합니까? – arc

+0

평상시와 마찬가지로 매개 변수를 참조합니다. – depa

0

당신은 그냥 인수가 아닌 인스턴스 변수로 기호 form_for를 사용

<%= 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 %> 
+0

그래서, 나는 PARAMS을 사용 [: title_contains] 첫 번째 텍스트 필드의 값을 얻는 방법? – arc

+0

예, 할 수 있습니다. 'params [: search]'는 일반적인 해시입니다. – greatghoul