路由和复选框从rails 1.xx更新到3.2.8

正好是由Ryan Bates(http://railscasts.com/episodes/52-update-through-checkboxes)检查这一集,看起来Rails 3.2.x有不同的设置。

因此map.resources :tasks, :collection => { :complete => :put }不会产生预期的结果,因为它会导致complete_tasks_path不存在的问题。 能告诉我如何在这种特殊情况下自定义路由吗?

似乎check_box_tag除了Ryan check_box_tag需要不同的属性。 因为它回写unexpected kEND...

任何帮助赞赏

听起来您需要以下内容定义集合上新的“已完成”操作,可在/tasks/completed处访问。

以下是在集合上添加其他操作的三种方法

 resources :tasks do put :completed, :on => :collection # --- OR --- collection do put :completed # additional collection action here ... end # --- OR --- collection { put :completed } end 

这将定义completed_tasks_path方法,并路由到TasksControllercompleted操作。