J'essaie d'ajouter des info-bulles aux entrées en lecture seule qui ne sont pas toujours suffisamment larges pour afficher le contenu complet. Les info-bulles seront utilisées pour afficher le contenu complet lorsque l'utilisateur survole l'entrée.Accéder aux attributs de ressources à partir de Rails Formbuilder
Le problème est que je n'arrive pas à accéder aux attributs de ressource dans la section des paramètres du générateur de formulaire. J'essaie de faire la valeur de l'entrée du titre. Voir le code suivant:
= f.fields_for :invoice_items, @invoice.invoice_items do |item|
%tr
%td
= item.text_field :code, :title => item.name, :rel=>'tooltip', :class => 'uneditable-input span1', :readonly=>'true
Soulève:
undefined method `name' for #<ActionView::Helpers::FormBuilder:0x007fea1e86f8e8>
Maintenant que nous avons, nous pouvons voir que l'article n'est pas réellement la ressource, mais la classe de générateur de formulaire. Comment puis-je accéder à la ressource d'origine à partir d'ici?
merci Impressionnant, item.object.name a fait l'affaire. Comment avez-vous su cela, si je peux demander? @ invoice.invoice_items est nécessaire car il s'agit d'une relation belongs_to/has_many avec la facture. –
Génial, heureux d'entendre ça a fonctionné. En ce qui concerne la façon dont je le savais, j'en ai vu un exemple dans la documentation des relations un-à-plusieurs dans les champs pour le site [rails api site] (http://api.rubyonrails.org/) <% = form_for @ personne do | person_form | %> ... <% = person_form.fields_for: les projets font | project_fields | %> <% si project_fields.object.active? %> Nom: <% = project_fields.text_field: Nom%> <% end %> <% end %> ... <% end %> – Adam
Aah bien grand. Merci encore! :) –