параметр отсутствует или значение пусто: ad - PullRequest
0 голосов
/ 10 мая 2019

У меня есть таблица "объявлений" с атрибутами, которые включают заголовок

ads_controller.rb

def index
    if params[:title]
   @ad = Ad.where('title LIKE ?', "%#{params[:title]}%")
 else
   @ads = Ad.published.paginate(page: params[:page], per_page: 5)
 end
    @categories = Category.all
    @categorytypes = Categorytype.all
  end

Application.html.erb

  <%= form_tag(ads_path method: :get) do %>
             <%= text_field_tag :title, params[:title], class: 'form-control' %>
             <button type="submit" class="btn btn-default btn-xs"><i class="fa fa-search"></i></button>
            <% end %>

При отправке я получаю сообщение об ошибке:

параметр отсутствует или значение пусто: ad def ad_params params.require(:ad).permit(:title, :description, :price, :location, :category_id, images: []) end какие-либо решения?

1 Ответ

0 голосов
/ 10 мая 2019

Когда вы отправляете форму, вы не отправляете ее с правильным типом параметров. В вашем контроллере вы ожидаете его в формате params[:ad][:title] из-за метода ad_params. Но вы в настоящее время получаете параметры как params[:title]. Вот почему вы столкнулись с этой проблемой.

Теперь, перейдя к решению, вы можете изменить тег текстового поля формы следующим образом:

<%= text_field_tag "ad[title]", nil, class: "form-control" %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...