2011-11-24 150 views
0

我有一個文件報告/ print.html.erb沒有路由匹配

reports_controller

def print 
    @report = Report.find(params[:id]) 

    respond_to do |format| 
    format.html { render :layout => false } 
    format.xml { render :xml => @report } 
    end 
end 

在routes.rb中

match 'reports/print(:id)' 

試圖與

<%= link_to 'Print', report_print_path(:id => @report.id), :method => :put %> 
調用

並得到這個錯誤:

的ActionController :: RoutingError在報告#顯示
沒有路由匹配{:動作=> 「打印」,:ID => 23:控制器=> 「報告」}

我要去哪裏錯了?

+0

當我運行$ rake路由時,我得到「缺少控制器」,也許我有一個錯字... –

+0

順便說一句,這個錯誤是在該鏈接的頁面上。 –

回答

1

路線更改爲:

match 'reports/print/:id' => 'controller#print', :via => :put 

,可能會解決它(雖然沒有測試代碼,而'controller#print'部分更改爲您的實際控制人名稱

+0

完全相同的錯誤... –

+0

你可以發佈你剛剛嘗試過的比賽嗎? – leonardoborges

+0

match'reports/print /:id'=>'reports#print',:via =>:put –

0

使它與

工作。
<%= link_to 'Print', print_url(:id => @report.id) %> 

match 'print/(:id)' => 'reports#print', :via => :get, :as => :print 

不知道爲什麼它會給我帶來問題,我的生活有4個小時,我永遠不會回來。