0
我有一些很奇怪的軌道的行爲:奇怪的路由錯誤
的routes.rb中:
resources :transactions, except: :show
耙路線的相關輸出:
transactions GET /transactions(.:format) transactions#index
POST /transactions(.:format) transactions#create
new_transaction GET /transactions/new(.:format) transactions#new
edit_transaction GET /transactions/:id/edit(.:format) transactions#edit
transaction PUT /transactions/:id(.:format) transactions#update
DELETE /transactions/:id(.:format) transactions#destroy
的代碼在視圖中:
<% if (current_page?(new_transaction_path) || current_page?(edit_transaction_path)) %>
# Do something in here
<% end %>
錯誤:
Completed 500 Internal Server Error in 20ms
ActionController::RoutingError (No route matches {:action=>"edit", :controller=>"transactions"}):
它的工作原理,當我刪除|| current_page?(edit_transaction_path)
部分。
我有什麼問題嗎?或者這是一個錯誤?
嘗試將事務對象傳遞給edit_transaction_path:'edit_transaction_path(@transaction)' – melekes
但我並不總是有一個事務對象......有沒有更一般的方法?我只是想檢查我是否編輯任何交易對象... – klump
'current_page?(:action =>「edit」,:controller =>「transactions」)'似乎工作。 @antonk:你想發佈一個答案嗎?我會接受它,你給了我這個ID缺失的想法。 – klump