1
創建自定義POST操作我想創造我的文章對象的自定義POST操作。如何Rails3中
在我routes.rb
,我已按以下方式操作:
resources :articles do
member do
post 'update_assigned_video'
end
end
在我articles_controller.rb
我:
def update_assigned_video
@article = Articles.find(params[:id])
@video = Video.find(:id => params[:chosenVideo])
respond_to do |format|
if [email protected]?
@article.video = @video
format.html { redirect_to(@article, :notice => t('article.updated')) }
else
format.html { render :action => "assign_video" }
end
end
然後在我看來,我做一個形式是這樣的:
<%= form_for @article, :url => update_assigned_video_article_path(@article) do |f|%>
[...]
<%= f.submit t('general.save') %>
該視圖呈現(所以我認爲他知道路線)。但點擊提交按鈕帶來了以下錯誤信息:
No route matches "/articles/28/update_assigned_video"
rake routes
知道它也:
update_assigned_video_article POST /articles/:id/update_assigned_video(.:format) {:action=>"update_assigned_video", :controller=>"articles"}
我在做什麼錯? 這是錯誤的做法嗎?
它是錯字'routes.rb'? ':aricles'? – Alex
你的'rake routes'是否顯示指定的路線? –
@alex:錯字只是在這裏(我現在糾正)| @查克:是的,它是在耙路線(我加的是輸出的問題) –