Rails 3.1アプリで、事前にわからない(ポリモーフィックテーブルからの)変数クラスのオブジェクトの束を一覧表示したいと思います。link_to
名前付きルートを持つリソースの場合は、そのルートを呼び出しに使用したいと思います。そのようなルートが存在するかどうかをチェックせずに素朴なアプローチ(HAMLを許してください):
%ul
- @objects.each do |object|
%li= link_to object, url_for(object)
オブジェクトが名前付きルートを持たないundefined method 'foo_path'
クラスのインスタンスである場合(たとえば、リソースとして定義されていないため) 、これによりエラーが発生します。Foo
オブジェクトまたはクラスの名前付きルートの存在を判別する簡単な方法(単純なメソッド呼び出しなど)はありますか?
編集:
私が取得したいのは次のようなものです:
%ul
- @objects.each do |object|
%li= link_to_if object.has_route?, object, url_for(object)