2014-11-24 65 views
0

我想弄清楚爲什麼我的link_to不工作,我以爲會這樣。在我的申請中,我有一個獎品數據庫。當用戶點擊link_to時,控制器應該訪問選擇的動作(在本例中爲「result1」),並在結果頁面視圖上執行動作的方法。從測試看來,link_to完全忽略:action =>'result1',並且默認使用Show方法。Link_to:動作將不會調用控制器方法 - Rails 4

任何想法爲什麼link_to完全忽略了:action =>'result1'

首先查看:視圖/啓動/ start.html.erb視圖:

<%=link_to 'result', resultpage_path, :controller => 'resultpage', :action => 'result1', :class => 'btn btn-default'%> 

Resultpage控制器:控制器/ resultpage_controller.rb

class ResultpageController < ApplicationController 

def index 
end 

# regardless of what is in the :action =>, the controller always calls Show. 
def show 
    @prize = Prize.first 
    render :index 
end 

# if i make the :action => 'result1', the controller still calls Show. 
def result1 
    @prize = Prize.last 
    render :index 
end 

結果視圖: resultspage /index.html.erb

<h2><%= @prize.title %></h2> 
    <p><%= @prize.description %></p> 

路線:

resources :resultpage do 
    get 'index' 
    get 'show' 
end 

resources :prizes 

回答

0

請與航線等內容

resources :resulpages do 
    get :result1 
end 

使用這種鏈接

= link_to 'result', result1_resultpage_paths 

並修改遊歷控制器

class ResultpageController < ApplicationController 

而且,BTW仔細閱讀這篇文章

相關問題