2013-12-21 44 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 %> 
相關問題