Ich versuche mein Bestes, um einen Helfer zu bauen, der eine < 'ul> bestehend aus allen Mitgliedern einer Sammlung ausgibt. Für jedes Mitglied der Sammlung möchte ich eine < 'li> ausdrucken, die einen Titel und ein div von Links zu CRUD das Mitglied hat. Dies ist ziemlich ähnlich dem, was Rails für das Scaffolding für die Indexansicht ausgibt. HierVerwenden von Helfern in Schienen 3 zur Ausgabe von HTML
ist der Helfer die ich habe:
def display_all(collection_sym)
collection = collection_sym.to_s.capitalize.singularize.constantize.all
name = collection_sym.to_s.downcase
html = ''
html << "<ul class=\"#{name}-list\">"
for member in collection do
html << content_tag(:li, :id => member.title.gsub(' ', '-').downcase.strip) do
concat content_tag(:h1, member.title, :class => "#{name}-title")
concat link_to 'Edit', "/#{name}/#{member.id}/edit"
concat "\|"
concat link_to 'View', "/#{name}/#{member.id}"
concat "\|"
concat button_to 'Delete', "/#{name}/#{member.id}", :confirm => 'Are you sure? This cannot be undone.', :method => :delete
end
end
html << '</ul>'
return html
end
Und das Ausgangs genau das, was ich will. Wenn jemand denkt, dass es einen besseren Weg gibt, das zu tun, dann bitte ich Sie, mich zu korrigieren, ich vermute, dass ich das auf eine Bass-awards-Weise mache, aber im Moment ist es die einzige Art, wie ich weiß, wie.
ich dann versucht, die Links in einem div zu wickeln, wie folgt:
def display_all(collection_sym)
collection = collection_sym.to_s.capitalize.singularize.constantize.all
name = collection_sym.to_s.downcase
html = ''
html << "<ul class=\"#{name}-list\">"
for member in collection do
html << content_tag(:li, :id => member.title.gsub(' ', '-').downcase.strip) do
concat content_tag(:h1, member.title, :class => "#{name}-title")
concat content_tag(:div, :class => "links-bar") do
concat link_to 'Edit', "/#{name}/#{member.id}/edit"
concat "\|"
concat link_to 'View', "/#{name}/#{member.id}"
concat "\|"
concat button_to 'Delete', "/#{name}/#{member.id}", :confirm => 'Are you sure? This cannot be undone.', :method => :delete
end
end
end
html << '</ul>'
return html
end
, ich nicht mehr der Auszeichnungs innerhalb der zu der Ansicht div.links-Bar-Ausgang erhalten jetzt jedoch. Ich bin mir sicher, dass das etwas mit Block und Bindungen zu tun haben muss, aber ich kann für das Leben von mir herausfinden, was oder wie man es reparieren kann. Kann jemand Hilfe anbieten?
Was ist es deine erste Absicht, Helfer einzusetzen? Warum nicht in der Vorlage? –
Hmmmm, ich denke, ich könnte eine Vorlage verwenden, ich bin mir nicht sicher, warum ich nicht daran gedacht habe. – TheDelChop
Partials ist der Weg, auf dem ich würde denken ... Kudos für den ganzen Code durchpflügen ... bekam Kopfschmerzen nur lesen ;-) – Ryan