Rails没有路由匹配控制器

时间:2017-05-24 02:34:52

标签: ruby-on-rails

我正在尝试使用link_to将用户ID和测试ID传递给控制器​​。以下是我的代码:

<%= link_to(test.name, user_test_result_path(:userd_id => 1, protocol.id)) %>

以下是我的路线:

enter image description here

但我一直收到以下错误:

enter image description here

为什么说没有路线匹配:action =&gt; show和:controller =&gt;“test_results根据我的路线确实存在?

2 个答案:

答案 0 :(得分:1)

您不应该将哈希值传递给路径助手。如果您的路径包含:user_id:id两个细分,则只需调用helper_name(user_id, id),而不是helper_name(user_id: user_id, id)

在你的情况下你应该打电话

user_test_result_path(1, protocol.id)

答案 1 :(得分:1)

多德。它在这里说$results = array(); foreach ($schoolResults as $schoolResult) { @$result[$schoolResult->schoolBin][$schoolResult->tb0306_tb0301_id] += $schoolResult->tb0306_countOfCorrectAnswers }

userd_id

拼写很重要!

此外,它在哪里:

<%= link_to(test.name, user_test_result_path(:userd_id => 1, protocol.id)) %>
来自你的参数吗?如果你这样做,我猜你会有更多的运气:

{9=>2...}