module ActionView::Helpers::UrlHelper

def method_for_options(options)

def method_for_options(options)
  if options.is_a?(Array)
    method_for_options(options.last)
  elsif options.respond_to?(:persisted?)
    options.persisted? ? :patch : :post
  elsif options.respond_to?(:to_model)
    method_for_options(options.to_model)
  end
end