2

リストビュー

この場合はagenda.subjectのモデル値のコンテンツを出力するRailsビューがあります

dbをチェックすると、下の2つの項目がdbに含まれていません。:idと空白が含まれていることはわかっていますが、コード内で次のように表示される可能性があります。

users / index.html.erb

<div class="row">
    <div class="span8">
        <%= render 'agendas/agenda_form' %>
        <% if @user.agendas.any? %>
            <h2>Agendas (<%= @user.agendas.count %>)</h2>
            <ol class="agendas">
                <%= render @agendas %>
            </ol>
        <% end %>
    </div>
</div>

the _agenda.html.erb partial
<li>
  <span class="content"><%= agenda.subject %></span>
  <%= link_to 'delete', agenda, method: :delete,
                                confirm: "You Sure?",
                                title: agenda.subject %>
</li>

およびユーザーコントローラー

class UsersController < ApplicationController
  before_filter :authenticate_user!

  def index
    @user = current_user
    @agenda = current_user.agendas.build if signed_in?
    @agendas = current_user.agendas
  end
end

.... user_id:1、created_at: "2012-05-17 15:52:22"、updated_at: "2012-05-17 15:52:22">、#] 8

[#<Agenda id: 49, subject: "Ut qui vel eos quia vitae.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: 43, subject: "Enim dolorem.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: 37, subject: "Rerum architecto est nihil totam.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: 31, subject: "Non.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: 25, subject: "Libero enim et explicabo.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: 19, subject: "Et molestiae et quia saepe quia.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: 7, subject: "Eum consectetur iste.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, #<Agenda id: nil, subject: nil, due_date: nil, completed: nil, user_id: 1, created_at: nil, updated_at: nil>] 8

正常に見えた最初の2つのレコードを除外しましたが、最後の2つは奇妙な出力です@agendas.inspectと@agendas.lengthからの出力

偽物を使用してアプリのサンプルデータを作成していますが、原因である可能性がありますか?

4

2 に答える 2

1

ありがとう -

次のテストデータを前提としています。

[#<Agenda id: 49, subject: "Ut qui vel eos quia vitae.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: 43, subject: "Enim dolorem.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: 37, subject: "Rerum architecto est nihil totam.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: 31, subject: "Non.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: 25, subject: "Libero enim et explicabo.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: 19, subject: "Et molestiae et quia saepe quia.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: 7, subject: "Eum consectetur iste.", due_date: nil, completed: nil, user_id: 1, created_at: "2012-05-17 15:52:22", updated_at: "2012-05-17 15:52:22">, 
#<Agenda id: nil, subject: nil, due_date: nil, completed: nil, user_id: 1, created_at: nil, updated_at: nil>]

犯人がデータに含まれているように見えます。自分が思っているデータを実際に生成していることを確認することをお勧めします。

于 2012-05-17T17:47:36.223 に答える
0

あなたが呼んでいる

current_user.agendas.build current_user.agendas.build

サインインした使用済みがこのページを表示するたびに、空白の未保存の議事録が議事録のリストに追加されます。あなたが何をしているのかはあなたの質問からは明らかではありませんが、@agendaそれをに設定する方が良いかもしれませんAgenda.new

于 2012-05-17T17:56:04.713 に答える