2012-07-30 111 views
0
我在與Rails的一個問題

,我得到以下錯誤:沒有路由匹配誤差定義路線

No route matches {:action=>"publish", :controller=>"businesses"} 

違規代碼:

<div id="searchDatesDiv" style="margin: 0 auto;"> 
    <%= form_tag(publish_business_path, :method => :post) do %> 
    <%= submit_tag("Publish") %> 
    <% end %> 
</div> 

的routes.rb:

resources :businesses do 
    member do 
    post 'publish' 
    end 
end 

耙路線:

registration  GET /registrations/:id(.:format)   registrations#show 
    publish_business POST /businesses/:id/publish(.:format) businesses#publish 
      businesses GET /businesses(.:format)    businesses#index 
        POST /businesses(.:format)    businesses#create 

我可以看到在耙路中定義的路徑。爲什麼我得到這個錯誤?該表單也是一種POST方法。任何幫助將是偉大的!我嘗試過看類似的問題,但沒有發現一個在我的情況下工作:(。

回答

0

您的業務發佈路徑需要一個id參數,你沒有給它。將業務對象傳遞到路徑正是如此幫手!

<%= form_tag(publish_business_path(@business), :method => :post) do %> 
+0

這是它,謝謝不能相信我錯過了一些東西這麼簡單 – LyricalPanda 2012-07-31 01:15:41

+0

它很容易錯過的錯誤並不會立即導致你意識到一個參數*缺少*。 – 2012-07-31 22:12:54