Wie übergeben Sie einige Parameter, um die Standard-rendering-Verfahren?
Ich bin mit Ruby, Ruby on Rails 3.0.10 und ich würde gerne einige Parameter, um die Standard-rendering-Verfahren. Das ist, wenn ich einen code wie
def show
...
respond_to do |format|
format.html # This, by default, renders the 'show.html.erb' file
end
end
Möchte ich einige Parameter, wie vielleicht (Hinweis: das folgende funktioniert nicht)
def show
...
respond_to do |format|
# Here I would like to add some local objects that will be available in the 'show.html.erb' template file
format.html { render ..., :locals => { :content => { :value => 'Sample value' } } }
end
end
so, in der show.html.erb
template kann ich sowas machen wie:
<%=
content[:value]
# => 'Sample value'
%>
In wenigen Worten möchte ich übergeben die parameter-Werte in der gleichen Weise, wie gemacht für die partielle template-rendering im Zusammenhang mit der :locals
Schlüssel:
render :partial,
:locals => {
:content => { :value => 'Sample value' }
}
Wie kann ich das tun?
InformationsquelleAutor Backo | 2011-09-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie genau das tun, was Sie beschreiben. Ich sah es bis hier http://apidock.com/rails/ActionController/Base/render unter der überschrift "Wiedergabe einer Vorlage" und gab es mal selber. Sie lernen jeden Tag etwas neues.
Können Sie einfach tun
Ich würde überlegen, warum Sie das tun müssen, anstelle der Verwendung von Instanz-Variablen. Vielleicht gibt es ja einen besseren Ansatz.
InformationsquelleAutor Wizard of Ogz
Wie etwa Einstellung einer Instanz-variable?
InformationsquelleAutor Mario Uher
In der Regel, wenn wir arbeiten mit Aktionen
show.html.erb
ist einaction
Ansicht, sondern einepartial
Ansicht, wir übergeben von Parametern über Instanz-Variablen auf der Steuerung wieNun in der
app/views/foos/show.html.erb
- Datei, zu der wir Zugang haben@foo
.Beim Rendern von partials, es gibt ein paar Möglichkeiten zum übergeben von Parametern:
Hierdurch werden teilweise
app/views/foos/_foo.html.erb
standardmäßig, weil es weiß@foo
ist der TypFoo
. In ihm haben Sie Zugang zu einemfoo
variable automatisch.Hier werden wir Rendern
app/views/foos/_foo_details.html.erb
, und übergeben Sie ein Objekt. Das Objekt übernimmt den Namen des partiellen, also innerhalb_foo_details.html.erb
wir haben Zugriff auf eine variable namensfoo_details
.Schließlich, und in Bezug auf Ihre Frage, wir machen eine teilweise genannt
_foo_things.html.erb
übergeben und einige einheimische. In diesem Fall würden Sie eine lokale variable namenstitle
dem Sie arbeiten kann.Ich hoffe, dass beantwortet deine Frage.
InformationsquelleAutor Kristian PD