当我转到/ relationships / index时,即使控制器中没有提到它,它也会显示显示页面?然后,当我尝试在没有创建显示页面的情况下转到索引视图时,我收到以下错误:未知操作:无法在关系控制器中找到操作“show”,即使在控制器或视图中没有提及它也是如此该行动的文件。
的routes.rb
Mymanual::Application.routes.draw do
resources :validation_rules
resources :validations
resources :product_types
resources :products
resources :connections
resources :relationships
root :to => 'products#index'
end
relationships_controller.rb
class RelationshipsController < ApplicationController
def index
end
def new
@relationship = Relationship.new
end
end
然后只是index.html.erb,show.html.erb和new.html.erb文件中的HTML。
答案 0 :(得分:0)
这是因为/relationship
路径适用于relationships#index
。如果您转到/relationships/index
,Rails路由器会假定您要使用relationships#show
转到params[:id] == 'index'
路径。
答案 1 :(得分:0)
即使您需要index
操作,也不要在网址中输入index
。否则,它会认为您要查找ID为Relationship
的{{1}}。
所以只需转到index
。
答案 2 :(得分:0)
转到控制台然后运行:
rake routes
它会为您提供应用理解的所有路线
在这条路线的某个地方你会有类似的东西:
relationships relationships#index /relationships
relationship relationships#show /relationships/:id
您遇到的问题是该应用将 / relationships / index 理解为与 id = index
的关系修复?使用/relationships
网址