Corrimão para marca do botão vs. HTML
pelo que vi no S. O., parece que o button_to torna mais fácil chamar funções do controlador, etc. No entanto, o botão HTML parece mais fácil de personalizar? É verdade? Existem outras diferenças.
Só quero garantir que estou a fazer a coisa certa. no meu novo projecto. Obrigado antecipadamente.2 answers
button_to
como todos os outros ajudantes para as vistas em trilhos (e.g. link_to
, form_for
, image_tag
...) simplesmente converte seu comando Rails em código HTML. Poderíamos dizer que é um atalho para escrever "puro HTML".
No seu caso, para button_to
, você pode ver a referência (e o que é impresso) aqui: http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to
Por exemplo:
<%= button_to "New", action: "new" %>
# => "<form method="post" action="/controller/new" class="button_to">
# <div><input value="New" type="submit" /></div>
# </form>"
Sugiro que use estes ajudantes, porque são mais "Carris" e isso melhora a sua velocidade de codificação.
button_to
tag é tão fácil de personalizar como tag html.
Existe uma convenção para Não Estilo tags HTML dentro destes elementos, mas em incluido *.ficheiros css. Toda personalização de suas tags HTML deve ser a adição de classes e ids.
Para o fazer em carris deve usar
<%= button_to "New", { action: "new" }, class: "my_class", id: "my_id" %>
Irá gerar o código html assim:
<form method="post" action="/controller/new" class="button_to">
<div><input class="my_class" id="my_id" value="New" type="submit" /></div>
</form>"
Como vês, usando ajudantes de Carris podes escrever a mesma funcionalidade com menos, código mais legível.