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:错字只是在这里(我现在纠正)| @查克:是的,它是在耙路线(我加的是输出的问题) –