title: Explicitly non-polymorphic URL in rails url helper
body: <p>I am struggling a bit with a <em>clean way</em> to solve this.</p>
  
  <p>Let's assume I have something like these models:</p>
  
  <pre><code>class Article
  end
  
  class FooArticle &lt; Article
  end
  
  class BarArticle &lt; Article
  end
  </code></pre>
  
  <p>Now, I don't have a special set of routes for FooArticle and BarArticle, they both get handled by <code>/articles</code> in my app.</p>
  
  <p>So I usually do article_path(@article) or new_article_path etc..</p>
  
  <p>This all works fine except for the case of shared partials where I don't want to explicitly define the route:</p>
  
  <pre><code>form_for(@article) do |f|
    ...
  end
  </code></pre>
  
  <p>The above would result in a unknown route error because it can't resolve <code>foo_article_path</code> or <code>bar_article_path</code> - yet with new records it works since I instantiate them via <code>@article = Article.new</code>.</p>
  
  <p>So now the question is: Is there a method that switches path arguments so I don't have to write this code:</p>
  
  <pre><code>url = @article.persisted? ? article_path(@article) : articles_path
  </code></pre>
  
  <p>I explicitly don't want to use the routers polymorphic magic, but still benefit from the action auto-detection that goes on in there.</p>