2013-12-21 48 views
0

我有一个控制器类(personsController),有三个动作:new,list和show。列表操作显示所有人员(从数据库中获取)。表演动作显示一个人。这是我的routes.rb文件:Ruby on rails:触发同一控制器的另一个动作的按钮

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(页:人/表演与ID = 18),我想添加一个按钮,重定向到列表页面:

<%= button_to "List All", :action => "list" %> 

的问题是,有没有persons/18/show_all的路线,但我会重定向到人/列表。我应该修改routes.rb文件(如果是,如何?),或者有一种方法可以“告诉按钮”到底应该重定向到哪里?

回答

1

这不是按钮的用例。

只需使用普通的链接

link_to "List all", persons_list_path 

您可以随时装点链接到任何风格说像一个按钮。

1

尝试使用link_topersons_list_path帮手,而不是:action => "list"

<%= link_to "List All", persons_list_path %> 
相关问题