質問: 囲碁、オセロ、将棋を遊べるサイトがあります。 それぞれ、Igo、Othello、SyogiモデルはpolymorphicなGameモデルがhas_oneの関係で結びついています。 それぞれのゲームには以下のような、独立したページが存在します。 ``` http://example.com/Igo/1 http://example.com/Othello/1 http://example.com/Syogi/1 ``` このような条件で、オセロか将棋か囲碁のいずれかが代入されている@gameableポインタを持っているどこかのコントローラで、適切なページヘリダイレクトするには ``` redirect_to @gameable ``` と記述するだけで期待通りのリダイレクトが行われます。 (なぜこれでリダイレクトしてくれるのかは把握してませんが...) しかし、この条件のリダイレクトに加えてurlパラメータを添えたい場合には どうすればいいのかわかりません。 ifやswitchなどを利用して@gameableが囲碁なのかオセロなのか将棋なのかを判定し それぞれリダイレクトするしか方法は無いのでしょうか。
回答: ``` redirect_to send(@gameable.class.to_s.downcase+'_url', id: @gameable.id, param: 'hoge') ``` で、なんとなく動作しました。 少し無理矢理な気もするので、もう少し良い方法がありましたら 是非教えていただきたいです。