我正在使用Rails 5.我无法链接到控制器中的show方法。我在我的config / routes
中定义了这个 resources :scenarios do
resources :confidential_memos
end
在视图中,我把这个
<td><%= link_to "#{subscription.scenario.title}", scenarios_path(subscription.scenario) %>
在我的控制器中我有show方法
class ScenariosController < ApplicationController
def show
@scenario = Scenario.find(params[:id])
end
但是当我点击链接时,我收到了错误
The action 'index' could not be found for ScenariosController
如何获取我的演出动作链接?
答案 0 :(得分:1)
scenarios_path
使用复数&#34;情景&#34;所以它正在寻找几个场景,并映射到index
动作,因此你的错误。要显示单个场景,您需要使用单数形式:
scenario_path(subscription.scenario)
如果您只有show
行动,那么您可能希望在路线中明确:
resources :scenarios, :only => %i[ show ] do
#...
end
以便您尽快发现错误。
您可以通过执行rake routes
并查找您感兴趣的节目动作来自行解决此问题。