Я работаю над своим первым сайтом, используя Ruby on Rails. Идея заключается в поисковой системе питания, где вы ищете продукт, а затем веб-приложение переносит вас либо на страницу с информацией о питании об этом продукте, либо на страницу результатов поиска, если точного соответствия не существует.
До сих пор я создал информационную базу данных о питании (используя postgresql) и добавил некоторые данные испытаний. Это команда, которую я использовал для создания леса для базы данных:
rails generate scaffold Food name:string calories:decimal portion_name:string \
portion:decimal image_url:string description:text
Затем я создал страницу индекса. Это команда, которую я использовал для создания индекса:
rails generate controller home index
Я удалил public/index.html
и изменил config/routes.rb
, чтобы он содержал эту строку:
root :to => 'home#index'
После этого я добавил форму поиска в app/views/home/index.html.erb
, например:
<div id="search">
<h1>How many calories are in... ?</h1>
<%= form_tag("/search", :method => "get") do %>
<%= text_field_tag "q", nil, :class => "span6" %>
<%= submit_tag("Go", :name => nil) %>
<% end %>
Теперь я хотел бы подключить эту форму поиска, чтобы при наличии точного совпадения с поисковым запросом или близкого совпадения пользователь направлялся прямо на страницу с информацией (из базы данных) для этого продукта. , Если нет точного соответствия, я бы хотел, чтобы пользователю была представлена страница результатов и ссылки на страницу питания для каждого результата.
Как я могу реализовать эту функцию? Я пробовал поискать статьи о реализации поиска с помощью Rails, и я также смотрел скринкаст, но ни один из найденных мной ресурсов не реализует то, что мне нужно.
Вот ссылка GitHub на проект: https://github.com/robertseaton/nutrition-project