0

link_toオブジェクトクラス文字列のように変更できることをどのように行うことができますか?

まず、オブジェクトを多形(本、雑誌)として持っているので、ユーザーにする必要がありますlink_to(@object.title, [@object.user, @object])。これにより、予想どおりuser_book_pathまたは多形になりuser_magazine_pathます。

私の質問は、どうすればそのuser部分をライターに変更できるかということです。writer_magazine_pathまたはwriter_book_path?私のルートでuserという名前を付けましwriterたが、メソッドに対してどのようにそれを行うことができるのか疑問に思っていますlink_to

正しくタイトルを付けたかどうかはわかりません。もしそうならそれを修正します。

4

2 に答える 2

0

この場合、次のように eval を利用できます。

<%= link_to @object.title, 
    eval("writer_#{@object.class.name.downcase)_path(pass_object_here)"} %>
于 2012-12-28T11:06:23.057 に答える
0

これを試してください、たとえばヘルパーを作成してください

あなたのヘルパーで

def *method_name(@object)*
  link_to "whatever" write_"#{object}"_path
end

今、あなたのビューファイルで

<%= method_name(@object) %>
于 2012-12-28T04:27:27.223 に答える