0
当我刷新页面我得到这个错误信息:路径规格似乎并不匹配生成的方法
ActionController::RoutingError (No route matches {:action=>"value", :controller=>"round"}):
app/views/surveys/survey.html.erb:28:in `block in _app_views_surveys_survey_html_erb___3955880096442191391_70175035205180'
app/views/surveys/survey.html.erb:22:in `_app_views_surveys_survey_html_erb___3955880096442191391_70175035205180'
app/controllers/surveys_controller.rb:16:in `block (2 levels) in survey'
app/controllers/surveys_controller.rb:14:in `survey'
Rendered /Users/pitosalas/.rvm/gems/[email protected]/gems/actionpack-3.2.8/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.5ms)
我感到很困惑这个。为什么引用program_participant_round_value_path引起该路线丢失?
这是我的路线文件:
root to: 'programs#index'
resources :programs do
resources :participants do
get 'survey' => 'surveys#survey'
end
resources :questions
resources :rounds
member do
get 'report' => 'reports#report'
end
end
resources :program do
resources :participant do
resources :round do
put :value
end
end
end
而这里的相关耙路线:
program_participant_round_value PUT /program/:program_id/participant/:participant_id/round/:round_id/value(.:format) round#value
我有一个控制器动作回合#值。
这里的视图的相关部分:
<%= content_tag :table do %>
<%= content_tag :thead do %>
<% 5.times do |q| %>
<%= content_tag :th, "1" %>
<% end %>
<% end %>
<% form_tag program_participant_round_value_path do %>
<%= content_tag :tbody do %>
<%= render partial: 'surveys/value', collection: @values %>
<% end %>
<%= submit_tag "Save" %>
<% end %>
<% end %>
谢谢!
而这会影响它寻找的路线?奇。让我尝试。谢谢! – pitosalas
好的进展,但现在我得到的错误:没有路由匹配{:action =>“value”,:controller =>“round”,:program => 1,:participant => 2,:round => 9}我需要对路线进行一些更改。但在我走下这条路之前,我宁愿提交表单的网址看起来像./program/1/participant/2/round/3/update。你似乎知道这个东西很冷。你能给我一个指针吗?谢谢10^6 – pitosalas
一定要将'method::put'作为参数传递给'form_tag'。 –