ActionController :: ParameterMissing в TrainingSessionsController # create + Rails 5 - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь реализовать функцию поиска на моей странице индекса.После обучения, которое я нашел в Интернете https://medium.com/@zylberberg.jonathan/creating-a-search-form-in-rails-5-77fdef6be74d

Я планирую реализовать более надежный поиск, но пока не могу даже заставить его работать для одного поля, не могу обойти эту ошибку: параметр отсутствует илизначение пустое: training_session.Почему это вообще называется моим действием создания?Я пытаюсь вызвать индекс, который должен соответствовать training_sessions_path, я думаю?

Дополнительные сведения об ошибке: Параметры:

{"utf8" => "✓", "authenticity_token" => "VG + v ... ==", "exerc_id" => "1 "," method "=>" get "}

Любая помощь приветствуется, я должен где-то здесь совершить фундаментальную ошибку.Вставлен соответствующий код ниже

Страница указателя:

<%= form_tag(training_sessions_path method: :get) do%>
  Exercise <%= text_field_tag :exercise_id, params[:exercise_id]%>
<%= submit_tag 'Search', name: nil %>
<% end %>

TrainingSessionsController

def index
  if params[:exercise_id]
    @training_sessions = TrainingSession.joins(:exercise).where('exercise_id =', "%#{params[:exercise_id]}%")
  else
      @training_sessions = TrainingSession.joins(:exercise).order("#{sort_column} #{sort_direction}")
  end
  end
  private
  def training_session_params
    params.require(:training_session).permit(:user_id, :exercise_id, :sets, :reps, :weight, :rpe, :training_date, :projected_max, :name)
  end

Маршруты:

training_sessions GET    /training_sessions(.:format)                                             training_sessions#index
                                     POST   /training_sessions(.:format)                                             training_sessions#create
                new_training_session GET    /training_sessions/new(.:format)                                         training_sessions#new
               edit_training_session GET    /training_sessions/:id/edit(.:format)                                    training_sessions#edit
                    training_session GET    /training_sessions/:id(.:format)                                         training_sessions#show
                                     PATCH  /training_sessions/:id(.:format)                                         training_sessions#update
                                     PUT    /training_sessions/:id(.:format)                                         training_sessions#update
                                     DELETE /training_sessions/:id(.:format)                                         training_sessions#destroy
training_sessions_calc_projected_max POST   /training_sessions/calc_projected_max(.:format)                          training_sessions#calc_projected_max

1 Ответ

0 голосов
/ 10 декабря 2018

Вы пропустили , между путем и методом

<%= form_tag training_sessions_path, method: :get do%>
  Exercise <%= text_field_tag :exercise_id, params[:exercise_id]%>
  <%= submit_tag 'Search' %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...