(@products + @collections + @users + @questions).map do |r|
@results << {
:label => ["Product", "Collection", "User"].include?(r.class.name) ? r.name : r.question,
:category => r.class.name,
:href => eval("#{r.class.name.downcase}_path(r)")
}
end
へのもう一つの方法は、私は現在探しています。方法は、ヘルパーに変換した文字列にevalを使用しないことがあれば、出力ヘルパーの代わりにeval
注:このコードは現在コントローラに存在します。私はここに、コンテキストの完全わからないので、私はこれが動作する100%自信がないんだけど、これはメソッドであれば
:href => self.send("#{r.class.name.downcase}_path".to_sym, r)
:2.3.11
+1それも動作します。 –