我是Rails的新手,我正在尝试在页面中添加几个按钮。我看到你可以使用HTML标签或rails" button_to。"但是,我无法找出每个方面的差异。
从我在S.O.中看到的情况来看,似乎button_to可以更容易地从控制器等调用函数。但是,HTML按钮似乎更容易自定义?这是真的?还有其他差异。
只是为了确保我在新项目中做正确的事情。提前谢谢。
答案 0 :(得分:6)
button_to
和Rails中的所有其他帮助一样(例如link_to
,form_for
,image_tag
...)只是在HTML代码中转换Rails命令。我们可以说这是编写“纯HTML”的捷径。
在您的情况下,对于button_to
,您可以在此处查看参考(以及打印的内容):http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-button_to
例如:
<%= button_to "New", action: "new" %>
# => "<form method="post" action="/controller/new" class="button_to">
# <div><input value="New" type="submit" /></div>
# </form>"
我建议你使用这些助手,因为它更像是“Rails”,这可以提高你的编码速度。
答案 1 :(得分:1)
button_to
标记与html标记一样易于自定义。
有一种惯例是不在此元素中设置HTML标记,而是包含* .css文件。 HTML标记的所有自定义都应该添加类和ID。
要在rails中执行此操作,您应该使用
<%= button_to "New", { action: "new" }, class: "my_class", id: "my_id" %>
它将生成如下的html代码:
<form method="post" action="/controller/new" class="button_to">
<div><input class="my_class" id="my_id" value="New" type="submit" /></div>
</form>"
如您所见,使用Rails助手可以使用更少,更易读的代码编写相同的功能。