Mehrere meiner Teiltöne können in zwei "Modi" gerendert werden. Wenn full_display
false
ist, gebe ich mehrere Felder nicht aus. Um die Dinge einfach zu machen, wollte ich einen der "Modi" Standard machen - wenn full_display
nicht definiert ist, behandeln Sie es als false
. Ich kam mit diesem Code:Dynamische Oszilloskop-Helfer in Rails machen
(((not defined?(full_display).nil?) && full_display) || false)
Ziemlich viel zu bewegen. Es wäre schön, es in einen Helfer oder so zu stecken, aber da Ruby nur einen lexikalischen Umfang hat, kann ich mir keinen guten Weg vorstellen.
Bad Ideen, die ich bereits versucht habe:
- auf der Oberseite des Teils tun
<% display = long code that is above %>
und Anzeige durch den Code verwenden, aber in Hinblick auf lokale Variablen Erstellen sieht schlecht aus und hat in jedem kopiert werden teilweise mitfull_display
. - wickeln Sie es in eine Zeichenfolge, legen Sie es in einen Helfer und verwenden Sie eval (display_helper) in der Ansicht, aber das erzeugt natürlich Sicherheitsbedenken.
Das ist viel besser als mein Code, danke! Es wäre sogar noch besser (und leistungsfähiger), dynamische Helfer zu haben. –