Рельсы новичка здесь.Я пытаюсь реализовать базовую функцию поиска в своем приложении, и мне не повезло, что результаты поиска отображаются в моем фрагменте.Я смотрел онлайн на руководства по рельсам, просматривал форумы здесь, экспериментировал с различными уроками с небольшим успехом.
Как я уже упоминал, Rails новичок здесь, так что я уверен, что мой код, вероятно, довольно уродлив.Будем весьма благодарны за любые подсказки о том, как соблюдать надлежащий этикет.:)
Контроллер сообщений
def index
@posts = Post.ransack(params[:query], load:true).result
end
def show
@post = Post.friendly.find(params[:id])
end
def post_params
params.require(:post).permit(:title, :body, :image, :slug)
end
def search_params
params.permit(:search_title, :search_body)
end
rout.rb
Rails.application.routes.draw do
devise_for :admin_users, ActiveAdmin::Devise.config
ActiveAdmin.routes(self)
resources :posts
root to: 'posts#index', as: :home
Модель сообщений
belongs_to :category
extend FriendlyId
friendly_id :title, :use => [:slugged, :finders]
validates :title, presence: true, length: { minimum: 5 }
validates :body, presence: true
validates :image, presence: true
def self.search_posts(search)
if search
where(["title LIKE ?","%#{search}%"])
else
all
end
end
end
app / views / posts / index.html.erb
<%= form_tag posts_path, :method => 'get' do %>
<%= text_field_tag :search, params[:search], placeholder: "Search Posts" %>
<%= submit_tag "Search" %>
<% if @posts.present? %>
<%= render 'posts/show' %>
<% else %>
<p>We cannot find posts containing the term(s) <%= params[:search] %>. Please try again.</p>
<% end %>
Gemfile
gem 'activeadmin'
gem 'kaminari'
gem 'friendly_id'
Я считаю, что это весь соответствующий код.Пожалуйста, дайте мне знать, если вам нужно что-нибудь дополнительное.
Как вы видите, я добавляю сообщения через activeadmin, поэтому я не уверен, что это как-то повлияет на это.Все работает нормально, и я получаю галочку в URL, которая, как мне кажется, говорит о том, что он нашел совпадение, но я пытаюсь заставить его перейти к частичному показу в представлении сообщений, но ничего не происходит.
РедактироватьСпасибо за все ваши ответы.Я попробовал каждый, но безуспешно.Однако я считаю, что проблема не в том, чтобы просто изучить все тонкости драгоценного камня.Мне нужно взять несколько онлайн-классов, чтобы узнать больше об основах.Я оставлю этот пост открытым и добавлю рабочее решение, чтобы помочь другим, как только у меня получится лучше разобраться в основах.Еще раз спасибо всем!:)
Edit_2: Ответ опубликован ниже.