2016-07-01 2 views
0

Ich habe Probleme, eine Hilfs-Tooltip-Funktion in eine submit_tag-Funktion in Rails zu injizieren. Von dem, was ich gesehen habe, konnte ich einen Objekthash statisch an die submit_tag-Funktion übergeben, aber wenn ich versuche, eine andere Funktion zu verwenden, um etwas zurückzugeben, funktioniert es nicht. Mir ist klar, dass ich den Objekt-Hash auch nicht verwenden kann und gebe einfach class: , and title: ein. Aber es wäre einfacher, alles, was ich brauche, in eine Funktion aufzunehmen.Können Objekt-Hashes an * _tag-Funktionen in Rails 4 übergeben werden?

So mit dem statischen Objekt hash:

button_tag type: 'submit', { class: "btn btn-default", title: "Check", data: { toggle: "tooltip", placement: "top"} } 

Mit der Funktion:

button_tag type: 'submit', class: "btn btn-default", tooltip("Check")

def tooltip(title, placement="top") 
     { title: title, data: { toggle: "tooltip", placement: placement, template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner right-tooltip-widen"></div></div>' } } 
    end 

Ich bin neu & Schienen ruby, also bin ich nicht sicher, ob Ich vermisse etwas Offensichtliches oder nicht. Danke im Voraus!

Antwort

0

Sie werden in alle weiteren Optionen zu einem einheitlichen Optionen Hash fusionieren haben:

button_tag type: 'submit', tooltip("Check").merge(class: "btn ban-default") 

Rubin behandelt Ihre beiden Optionen als separate Hashes. Es ist erwähnenswert, dass Markup-Sprachen wie HAML werden automatisch für Sie verschmelzen.

+0

Ah perfekt danke! – KJS

Verwandte Themen