2017-02-17 3 views
0

J'ai un prombem quand mon haml analyser ce code:haml: link_to balises imbriquées

-if link.user == current_user 
    %div{:class => "links-group d-inline"} 
    = link_to "edit", edit_link_path(link) do 
     = octicon("pencil", :height => 16, :class => "d-inline mt-1") 
    = link_to 'destroy', link, method: :delete, data: { confirm: 'Are you sure?' } 

méthode non définie stringify_keys' pour "/ liens/1183/modifier": String

Quand je supprime cette ligne = octicon("pencil", :height => 16, :class => "d-inline mt-1") tous les travaux sont bons.

Comment résoudre ce problème?

Répondre

1

Si vous passez un bloc à link_to, vous ne devez pas lui transmettre une étiquette à afficher également. par exemple

= link_to edit_link_path(link) do 
    = octicon("pencil", :height => 16, :class => "d-inline mt-1") 

OU

= link_to "edit", edit_link_path(link) 

mais pas une combinaison des deux ... :)

Voici l'API doc pour link_to qui donne de meilleurs exemples: http://apidock.com/rails/ActionView/Helpers/UrlHelper/link_to

+1

Je résous ce problème. j'écris '" edit "' dans la nouvelle ligne .. –

1

Aussi, vous pouvez jeter un oeil comme ci-dessous -

link_to(options = {}, html_options = {}) do 
    # name 
end 

OR 

link_to(url, html_options = {}) do 
    # name 
end