2012-07-26 92 views
0

我在我的應用程序的資源,似乎是正確的,但是當我打開指數,我得到一個錯誤:undefined local variable or method 'new_beta_request_path'。這也發生在beta_request_approval path未定義的局部變量或方法 - Rails的路線

我的鏈接看起來像<%= link_to 'New Beta Request', new_beta_request_path, :class => "btn" %><%= link_to "Approve", beta_request_approval_path %>

所有的路徑似乎正確的我,但事情顯然缺少...

在我routes.rb,我有:

resources :beta_requests, :only => [:index, :edit, :create, :update, :destroy] 

match '/request_invite', to: 'beta_requests#new', :as => "request_invite" 
match 'beta_requests/:id/approve', to: 'beta_requests#approve', :as => "beta_request_approval", :via => :put 

當我運行耙路線,我得到如下:

beta_requests   GET /beta_requests(.:format)    beta_requests#index 
         POST /beta_requests(.:format)    beta_requests#create 
edit_beta_request  GET /beta_requests/:id/edit(.:format)  beta_requests#edit 
beta_request   PUT /beta_requests/:id(.:format)   beta_requests#update 
         DELETE /beta_requests/:id(.:format)   beta_requests#destroy 
request_invite    /request_invite(.:format)    beta_requests#new 
beta_request_approval POST /beta_requests/:id/approve(.:format) beta_requests#approve 

有人能看到什麼,我顯然不能?

回答

0

還有的only數組中沒有:new?您可以添加:

resources :beta_requests, :only => [:index, :edit, :new, :create, :update, :destroy] 

或完全刪除哈希的說法,因爲這種方式的所有資源行動無論如何定義。

+0

我感動':new'樓下到'request_invite'路徑,因爲我不想讓URL是'/ beta_requests/new',我想'/ request_invite'。 – 2012-07-26 02:14:39

+1

爲什麼不在第一個'link_to'調用中使用'request_invite_path'而不是'new_beta_request_path'? – Dmitry 2012-07-26 02:50:40

+0

適用於'new_beta_request_path'錯誤。我仍然遇到了'beta_request_approval_path'錯誤。難道我在使用資源路由的自定義路由嗎? – 2012-07-26 02:57:38

0

你想在你的鏈接使用request_invite_path而不是new_beta_request_path。那就是:

<%= link_to 'New Beta Request', request_invite_path, :class => "btn" %>

這是提供給你,因爲你設置:爲在request_invite路由定義選項。

至於另一個錯誤,我注意到您的耙路線列表beta_request_approval使用POST動詞和routes.rb定義該路線使用:via => :put選項。

+0

我已經在代碼中有。它可能有點埋藏,但它在那裏:'match'/ request_invite',以:'beta_requests#new',:as =>「request_invite」' – 2012-07-26 02:53:36

+0

我的意思是在你看來。爲了清晰起見,我更新了答案。對困惑感到抱歉。 – cjhveal 2012-07-26 03:46:18

相關問題