У меня есть модель проекта, в которой есть много UserStories. Я хочу, чтобы пользователи могли просматривать их профиль в своих проектах по title
, description
или UserStory#name
. Мне удалось найти title
и descripion
. Любая помощь в том, как сделать поиск по UserStory#name
?Rails search
Это моя форма в views/profile/index
:
<%= form_tag "profile/", :method => :get do %>
<%= text_field_tag :search %>
<%= submit_tag "Search"%>
<% end %>
И вот мое index
действие в профиле/контроллера:
def index
if params[:search]
@projects = current_user.projects
.where('title LIKE ? or description LIKE ?',
"%#{params[:search]}%", "%#{params[:search]}%")
current_user.projects.each do |project|
if (project.user_stories)
project.user_stories.each do |story|
if story.name.include? params[:search]
@projects << story.project
end
end
end
end
@projects = @projects.page(params[:page]).per_page(4)
else
@projects = current_user.projects.order("title")
.page(params[:page]).per_page(4)
end
end
Каким образом это не работает в настоящее время, сообщение об ошибке или просто данные, которые вы используете? – Iceman
Если запись не существует в базе данных, она дает ошибку massege «Действие« show »не может быть найдено для ProfileController», то есть в поиске названия проекта или описания, но в названии истории пользователя, которое оно всегда ищет, t work –