我想了解我有一些我的Rails項目中遇到的問題。我有兩個型號,嵌套模型尺寸較大(+1),比過去在Rails的
第一招:
class Donkey < ActiveRecord::Base
has_many :comments, dependent: :destroy
validates :name, :surname, :age, presence: true
end
第二個:
class Comment < ActiveRecord::Base
belongs_to :donkey
validates :comment, :commenter, presence: true
end
我的問題是我之前添加一條記錄評論模式,@ donkey.comments.size爲1並且返回的對象是零。
要從此逃避我使用,
<% @donkey.comments.each do |comment| %>
<p><strong><%= comment.commenter %></strong></p>
<p><%= comment.comment %></p>
<% if comment.id.present? %>
<p><%= link_to 'Destroy Comment', donkey_comment_path(@donkey, comment),
method: :delete, data: { confirm: 'Do you really want to delete this question?' } %></p>
<% end %>
<% end %>
上面的代碼我的視圖文件,如果你留意,你可以看到我使用if語句沒有得到一個錯誤。 (零對象)
我的 '添加註釋' 從視圖文件在下面的代碼,
<%= form_for([@donkey, @comment]) do |f| %>
<p><%= f.label :commenter %>: <%= f.text_field :commenter %></p>
<p><%= f.label :comment %>: <%= f.text_area :comment %></p>
<%= f.submit %>
<% end %>
而且@comment = @ donkey.comments.build在我的控制器。
我想了解這個錯誤,這就是爲什麼我做了這樣一個簡單的模型。我正在檢查SQL服務器中沒有記錄,但@ donkey.comments.size爲1且沒有對象。
任何人都可以幫助我在這個問題上?
非常感謝您的寶貴時間,
您是否嘗試過創建驢在控制檯中留言以隔離問題是否存在於模型中? – lcguida
感謝您的回覆@rockskull。我銷燬了開發數據庫並再次遷移並登錄到rails控制檯,並從那裏創建了Donkey和Comment記錄=>結果是有一條記錄,但大小爲2.模型中存在什麼問題?這很簡單,你可以看到上面..真的很好奇:( – manorie