Ruby on rails ActionController::培训会话中缺少参数ControllerCreate+Rails 5
我正在尝试在我的索引页上实现一个搜索功能。根据我在网上找到的教程 我计划实现一个更健壮的搜索,但甚至不能让它在单个字段中工作,也无法克服这个错误:param丢失或值为空:training_session。为什么它会调用我的创建操作?我试着调用索引,它应该对应于我认为的培训课程路径 其他错误详细信息: 参数: {utf8=>✓, 真实性\u令牌=>VG+v..=,练习\u id=>1,方法=>get} 感谢您的帮助,我一定是在什么地方犯了一些根本性的错误。将相关代码粘贴到下面 索引页:Ruby on rails ActionController::培训会话中缺少参数ControllerCreate+Rails 5,ruby-on-rails,ruby-on-rails-5.2,Ruby On Rails,Ruby On Rails 5.2,我正在尝试在我的索引页上实现一个搜索功能。根据我在网上找到的教程 我计划实现一个更健壮的搜索,但甚至不能让它在单个字段中工作,也无法克服这个错误:param丢失或值为空:training_session。为什么它会调用我的创建操作?我试着调用索引,它应该对应于我认为的培训课程路径 其他错误详细信息: 参数: {utf8=>✓, 真实性\u令牌=>VG+v..=,练习\u id=>1,方法=>get} 感谢您的帮助,我一定是在什么地方犯了一些根本性的错误。将相关代码粘贴到下面 索引页: <%
<%= form_tag(training_sessions_path method: :get) do%>
Exercise <%= text_field_tag :exercise_id, params[:exercise_id]%>
<%= submit_tag 'Search', name: nil %>
<% 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
你错过了,在路径和方法之间
<%= form_tag training_sessions_path, method: :get do%>
Exercise <%= text_field_tag :exercise_id, params[:exercise_id]%>
<%= submit_tag 'Search' %>
<% end %>
如果看不到您的routes.rb很难判断,但我可以猜测:在您的表单中,如果您使用的是training_sessions_路径,那么您还需要提供相关的training session模型实例,或培训课程id:例如培训课程_path@training_session_object_please_create那么它应该可以工作了。谢谢。看起来这是我在下面的表格中指出的一个问题。感谢你的帮助。谢谢!这使我克服了错误。我知道这一定是我错过的简单的东西。@mcannon你能通过运行rake routes | grep training |课程在你的控制台上显示结果吗?
<%= form_tag training_sessions_path, method: :get do%>
Exercise <%= text_field_tag :exercise_id, params[:exercise_id]%>
<%= submit_tag 'Search' %>
<% end %>