mckenzie https://www.youtube.com/watch?v=BI_VnnOLSKY tarafından eğitmenleri izliyordum ve yorumların her gönderi için nasıl çalıştığını anlayamıyorum. Böyle kısmi görünüyor _form:Blog yorumları nasıl çalışır?
<%= form_for([@post, @post.comments.build]) do |f| %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :description %>
<%= f.text_area :description %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
Peki neden bu çağrısı zorundadır yapar [@post, @ post.comments.build] ??
Sonra şöyle görünür _comments başka kısmi yapar: Yani
<div>
<h3><%= comment.name %></h3>
<p><%= comment.description %></p>
</div>
, nasıl oluyor hiçbir döngü varsa @ işaretini kullanmadan sadece "comment.name" çağrısında diye yapabiliyor @ comment.each gibi yorum yap | İkinci satırda
<h2><%= @post.comments.count %> Comments</h2>
<%= render @post.comments %>
nasıl sadece kısmi _comment için bu alan bir yöntem olarak yorumlar için çağrı yapabiliyor:
Sonra böyle posta/show.html.erb her şeyi vermektedir? ?
Son olarak heres nasıl yorumlar kontrolörü:
def create
@post = Post.find(params[:post_id])
@comment = @post.comments.create(comment_params)
redirect_to post_path(@post)
end
Çok teşekkürler!
Umarım bu yardımcı olacaktır. '' '<% = form_for ([@ post, @ post.comments.build]) do | f | %> '' ' Post_comments_path (post_id) 'e gönderilmesini bildirir. Bu, o rota ve denetleyici kurulumuna sahip olmanızı gerektirir. '' 'render @ post.comments ' '' Bu, bir koleksiyonun ActiveRecord nesnelerinin bir dizisini döndürdüğü @ post.comments olarak gösterilmesini söyler. Aslında dizinin yinelemesini yapar ve her bir yorum örneğini kısmi olarak işler. http://api.rubyonrails.org/classes/ActionView/PartialRenderer.html – isaacsloan