我有一个控制器类(personsController),有三个动作:new,list和show。列表操作显示所有人(从数据库中获取)。节目动作显示一个人。这是我的routes.rb文件:
People::Application.routes.draw do
get "persons/new"
get "persons/list"
root "persons#new"
resources :persons
end
rake routes
的输出:
Prefix Verb URI Pattern Controller#Action
persons_new GET /persons/new(.:format) persons#new
persons_list GET /persons/list(.:format) persons#list
root GET / persons#new
persons GET /persons(.:format) persons#index
POST /persons(.:format) persons#create
new_person GET /persons/new(.:format) persons#new
edit_person GET /persons/:id/edit(.:format) persons#edit
person GET /persons/:id(.:format) persons#show
PATCH /persons/:id(.:format) persons#update
PUT /persons/:id(.:format) persons#update
DELETE /persons/:id(.:format) persons#destroy
现在从persons/18
这样的页面(页面:人物/ show,id = 18),我想添加一个重定向到列表页面的按钮:
<%= button_to "List All", :action => "list" %>
问题是没有到persons/18/show_all
的路由,但我会重定向到人员/列表。我应该修改routes.rb文件(如果是,怎么做?)或者有一种方法可以“告诉按钮”它应该重定向的确切位置?
答案 0 :(得分:1)
这不是按钮的用例。
只需使用普通链接
link_to "List all", persons_list_path
您可以随时将链接装饰为任何样式,例如按钮。
答案 1 :(得分:1)
尝试使用link_to
和persons_list_path
帮助,而不是:action => "list"
:
<%= link_to "List All", persons_list_path %>