2012-02-24 6 views
0

ビューが@project.tasks(複数の場合)または@task(つまり個々のタスク)のどちらを使用している場合でも、同じ方法で(_taskの一部を使用して) ?ビュー内の個々のアイテムとコレクションをレンダリングする

私の質問は、この1のようになります。How can you make a ruby function accept either an individual item or collection of items and do the same thing?

私はif @project.tasks.is_a?をチェックしようとしたが、それはwrong number of arguments (0 for 1)を訴えました。

アイデア?

答えて

1

を使用しているかどうかを確認したい場合は私がしたいのかわからないんだけど、私はあなたが、個々の項目の上に部分的にどちらかのコレクションをレンダリングすることを理解。だから私は正しい場合は、これらの手順を実行する必要があり、すべてが箱の外で動作します。あなたがモデルProject、それhas_manyTasksを持っているとしましょう、手順は次のとおりです。<%= render @project.tasks %>

  • も使用してあなたができる:

    1. は次のようにレンダービューでtasks/_task.html.erb
    2. 使用(例えばprojects/show.html.erb)に部分的にタスクの名前を変更します<%= render @task %>

    注:解決策はRails >= 3で動作します。

  • +0

    2.3でも同様に動作します。 – Eric

    0

    あなたはオブジェクトが配列かどうかif @project.tasks.is_a?(Array)

    +0

    私のためにそれをクリアしてくれてありがとう – user1116573

    +0

    あなたは歓迎です=) – mohamagdy

    関連する問題