Layout ändern auf Auswahlbox ändern
-
20-08-2019 - |
Frage
Ich mag einen Teil machen abhängig von einer Auswahl in Auswahlbox. Das sieht trivial, aber ich kann ein Beispiel nicht gefunden.
Jede Hilfe wird sehr geschätzt.
Viele Grüße
Lösung
Wenn Sie versuchen, einfach eine teilweise auf der Seite zu machen, dass die Form unterbreitet,
<%= render :partial => params[:your_selectbox_value_matching_the_partial_you_want] %>
Also, wenn Sie hatte eine Auswahlbox wie
<select name='the_partial'>
<input value="partial1">Some Partial</input>
<input value="partial2">Another Partial</input>
</select>
Sie müssen machen
<%= render :partial => params[:the_partial] %>
Angenommen, Sie _partial1.html.erb und partial2.html.erb in Ihrer Ansicht Ordner
Andere Tipps
ich mit so etwas wie diese beginnen würde:
app/views/_layout_selector.html.erb:
<form action="<%= request.request_uri -%>">
<select name='layout'>
<input value="blue">Blue</input>
<input value="pink">Pink</input>
<input value="green">Green</input>
</select>
</form>
app/views/layouts/blue.html.erb:
<html>
...
<%= render :partial => '/layout_selector' %>
...
</html>
(/app/views/layouts/pink.html.erb and green.html.erb similar)
app/controllers/application.rb:
class ApplicationController < ActionController::Base
DEFAULT_LAYOUT = 'blue'
layout :pick_layout
...
private
def pick_layout
params[:layout] || DEFAULT
end
end
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow