2012-07-30 3 views
0
내가 레일에 문제가 있어요

에 대한 오류와 일치, 나는 다음과 같은 오류 얻을 :없음 경로 정의 경로

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 매개 변수가 필요합니다. 경로에 비즈니스 개체 전달 thusly 히 도우미! 그 것이었다

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

, 덕분에 내가 그렇게 간단하게 뭔가를 놓친 믿을 수 없어 – LyricalPanda

+0

놓칠 그것의 쉬운 오류가 즉시 매개 변수가 * * 없음을 실현하기 위해 당신을 이끌하지 않습니다... –