Skip to content

Instantly share code, notes, and snippets.

@josevalim
Created February 6, 2009 13:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save josevalim/59390 to your computer and use it in GitHub Desktop.
Save josevalim/59390 to your computer and use it in GitHub Desktop.
# Current way of overwriting your create behaviour when the task can't be saved with success:
class TasksController < InheritedResources::Base
# Project.find_by_title!(params[:project_title]).tasks
belongs_to :project, :finder => :find_by_title!, :param => :project_title
def create
# create! == super
create! do |format|
unless @task.errors.empty?
format.html { redirect_to project_url(@project) }
end
end
end
end
# New way, proposed by grosser!
#
class TasksController < InheritedResources::Base
# Project.find_by_title!(params[:project_title]).tasks
belongs_to :project, :finder => :find_by_title!, :param => :project_title
def create
# create! == super
create! do |success, failure|
failure.html { redirect_to project_url(@project) }
end
end
end
# If you want to overwrite both success and failure at once, give me just one block! :)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment