aco*_*rth 1 views ruby-on-rails
我正在创建一个自定义视图,稍微修改一下index.html.erb.我希望能够在我的网络应用程序上创建一个链接,用于指导用户调用此自定义视图list.html.erb.
这就是我所做的:
1)复制默认的脚手架索引视图并将其重命名为list.html.erb
2)GalleriesController通过复制index方法并重命名为list:
def list
@galleries = Gallery.all
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @galleries }
end
end
Run Code Online (Sandbox Code Playgroud)
3)修改后的routes.rb文件如下:
match "galleries/list" => "galleries#list"
Run Code Online (Sandbox Code Playgroud)
我一直收到以下错误:
Couldn't find Gallery with ID=list
Rails.root: /Users/scervera/Sites/MDN
Application Trace | Framework Trace | Full Trace
app/controllers/galleries_controller.rb:28:in `show'
Run Code Online (Sandbox Code Playgroud)
在我对stackoverflow的搜索中,我无法找到任何类似的问题.
我猜你把match画廊resources路线的外面和之后.
这意味着list它被解释为:id默认的RESTful映射.
选项包括:
index除非你真的需要它们(这看起来很奇怪).list描述RESTful的行动在这里(见下文).要添加list操作(选项2):
resources :galleries do
get 'list', :on => :collection
end
Run Code Online (Sandbox Code Playgroud)