2016-02-22 4 views
0

Если я устанавливаю мои маршруты вверх, как это, например:Как передать ввод текста в форму как часть параметров?

resources :articles do 
    member do 
    get :search 
    end 
end 

Что должна форме выглядеть, чтобы получить params[:search] к search методе ArticlesController? Я пытался вариации этого, но не может заставить его работать:

<%= form_for search_article_path, :method => :get do |f| %> 
    <%= f.label :search %> 
    <%= f.text_field :search %> 

    <%= f.submit :submit %> 
<% end %> 

ответ

1

Rails предоставляет ряд хелперов для генерации элементов формы, такие как флажки, текстовые поля и радио-кнопки. Эти базовые помощники с именами, заканчивающимися на _tag (например, text_field_tag ​​и check_box_tag), генерируют только один элемент <input>. Первым параметром для них всегда является имя ввода. Когда форма будет отправлена, имя будет передано вместе с данными формы и проделает свой путь к хэшу params в контроллере со значением, введенным пользователем для этого поля. Например, если форма содержит <%= text_field_tag(:query) %>, то вы сможете получить значение этого поля в контроллере с помощью params[:query].

Если у вас возникли проблемы с Params вы можете проверить это видео: https://gorails.com/episodes/the-params-hash

+0

Я ненавижу не в состоянии понять, что-то так просто! Большое спасибо Сцилард. – Jane

+0

Никогда не забудьте проверить видеоролики railscasts/gorails и руководства по направляющим. Почти все ответы можно найти на этих сайтах. Я потратил бесчисленные часы на поиски чего-то, потому что мне было лениво копаться в этих источниках должным образом. –

Смежные вопросы