0

ドキュメントをアップロードしてから、管理者のホームページに次のようにすべてのドキュメントを表示します。

<% @document.each do |document|%> 
     <p><%= link_to document.name, document.contract_url.to_s%></p>
<%end%>

ユーザーのホームページで、特定のユーザーに属するドキュメントを次のようにレンダリングします。

<%= current_user.documents.each do |document|%>
    <p><%= link_to document.name, document.contract_url.to_s%></p>
<%end%>

しかし、ユーザーのホームページでは、リンクの後にこの配列が表示されます。

Document Name (link)
[#<Document id: 2, name: "Document Name", user_id: 2, contract: "contract_name.pdf", created_at: "2012-10-03 13:12:40", updated_at: "2012-10-03 13:35:35">] 

管理パネルにこのアレイが表示されません。「ドキュメント名」リンクが表示されます。誰かがこれを引き起こしている可能性があることを知っていますか?

4

1 に答える 1

2
[#<Document id: 2, name: "Document Name", user_id: 2, contract: "contract_name.pdf", created_at: "2012-10-03 13:12:40", updated_at: "2012-10-03 13:35:35">]

ハッシュではなく、配列です。Documentこれは、モデルの単一のクラスインスタンスを持つ配列です。

#<Document id: 2, name: "Document Name", user_id: 2, contract: "contract_name.pdf", created_at: "2012-10-03 13:12:40", updated_at: "2012-10-03 13:35:35">

これは、次の戻り値(モデルの文字列表現)です(試してみてrails consoleください)

Document.find(2).to_s

あなたのコードにはあなたが持っています

<%= current_user.documents.each do |document|%>

コレクションを印刷しています。current_user.documentsこれはあなたがしているのと同じです

puts current_user.documents

rails console。を取り除き=ます。

<% current_user.documents.each do |document|%>
于 2012-10-03T14:08:10.437 に答える