0

添付ファイル、メモ、および添付ファイルの配列のコレクションがあります。例えば

@heteroCollection = [Attachment, Note, Note, [Attachment, Attachment, Attachment]]

私の見解では、このコレクションをレンダリングしようとしています

<%= render :partial => @heteroCollection %>

しかし、添付ファイルの配列を実装する必要があると言って、レールはチョークします:to_partial_path

[Attachment, ..., Attachment] is not an ActiveModel-compatible object. It must implement :to_partial_path

配列を削除すると、レンダリングは呼び出し_attachment.html.erb_note.html.erbそれぞれのレコードに対してうまく機能します。

サルのパッチを適用せずに配列に :to_partial_path を実装する方法はありますか? または、別のより良い解決策はありますか?

4

1 に答える 1

1

クラス AttachmentArray を作成し、それを Array から拡張して、それに to_partial_path メソッドを追加できます。添付ファイルをそのクラスの新しいインスタンスにプッシュするより..

于 2013-07-25T19:04:30.133 に答える