Ich übergebe eine Sammlung (@feed_items) an ein _feed_item partially über die Option: collection. Innerhalb des _feed_item partiell möchte ich einen weiteren partiellen _like_button darstellen. Im Teil _like_button möchte ich auf ein bestimmtes Mitglied der Sammlung zugreifen können. Was soll ich vom _feed_item partiellen zum _like_button partiellen?
weitergeben? %Vor%_feed.html.erb
%Vor%_feed_item.html.erb
%Vor%_like_button.html.erb
%Vor%BEARBEITEN
Übergeben der lokalen Variablen wie in den Antworten unten funktioniert:
%Vor% Nachdem jedoch das like übergeben wurde, erhalte ich ActionView::Template::Error (undefined local variable or method 'feed_item'
, wenn versucht wird, das Formular erneut durch Ajax zu rendern. Wie kann ich die lokale Variable durch den Ajax-Aufruf erneut übergeben?
Controller
%Vor%toggle.js.erb
%Vor%_like_button.html.erb
%Vor%_feed_item.html.erb
%Vor%Wenn Sie eine Sammlung zum Rendern des Partials verwenden, erhalten Sie die lokale Variable genauso wie den Namen der Render-Datei. Sie können also nur den Dateinamen als lokale Variable übergeben.
Zum Beispiel, wenn Sie _feed_item.html.erb haben und Sie diese partielle Verwendung der Sammlung wie
rendern %Vor%Damit erhalten Sie die lokale Variable feed_item in diesem feed_item partial.
Sie können diese Variable feed_item also als lokale Variable an eine andere partielle (in Ihrem Fall _like_button.html.erb)
übergebenWenn ich verstehe, müssen Sie Folgendes tun:
_feed.html.erb
%Vor%_feed_item.html.erb
Hier definieren Sie eine lokale Variable namens feed_item
und weisen den Wert als jedes Element Ihrer Sammlung zu. Sie können das Wort locals
weglassen, weil Rails intelligent genug ist, um zu wissen, dass dies eine Variable local
ist.
_like_button.html.erb
%Vor%Ich hoffe, es hilft Ihnen.
Tags und Links ruby ruby-on-rails-3 ruby-on-rails partial-views