Railsの中なurl_forの反対は何ですか?パスを受け取り、解釈経路を生成する機能?

StackOverflow https://stackoverflow.com/questions/2222522

質問

コントローラと::

脳は揚げ少しです....どのように私はのハッシュ得るのですか?相対パスからアクションを

これは、基本的なurl_forの反対です。以下の例では、「some_functionは」私が探している謎の関数名がある...私は覚えているか、ドキュメントでそれを見つけることができるように見えることはできません、それは簡単です知っています。

これと同様ます:

some_function('/posts/1/edit')
=> {:controller => 'posts', :action => 'edit', :id => '1'}
役に立ちましたか?

解決

RSPECがルートに方法と経路を解析するアクションコントローラのルーティング方法を使用する方法「params_for」を有している。

かれらは少しより堅牢これよりもですが、それはつまるところ

def params_for(path, method)
  params = ActionController::Routing::Routes.recognize_path(path, :method => method)
end

他のヒント

のRails 3で最良の方法は、

を使用することです
Rails.application.routes.recognize_path('/posts/1/edit')
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top