我刚接触Rails,想在我的页面上添加一些按钮。 我发现可以使用HTML标签或Rails的“button_to”。 但是,我没有找到它们之间的区别。
从我在S.O.看到的情况来看,似乎button_to更容易从控制器中调用函数等。 但是,HTML按钮似乎更容易定制? 这是真的吗? 还有其他区别吗。
只是想确保在我的新项目上做正确的事情。 提前感谢。
我刚接触Rails,想在我的页面上添加一些按钮。 我发现可以使用HTML标签或Rails的“button_to”。 但是,我没有找到它们之间的区别。
从我在S.O.看到的情况来看,似乎button_to更容易从控制器中调用函数等。 但是,HTML按钮似乎更容易定制? 这是真的吗? 还有其他区别吗。
只是想确保在我的新项目上做正确的事情。 提前感谢。
button_to
像Rails视图中的所有其他帮助程序(例如link_to
,form_for
,image_tag
等)一样,只是将您的Rails命令转换为HTML代码。我们可以说这是一种编写“纯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 的风格,可以提高你的编码速度。
button_to
标签和HTML标签一样容易自定义。
有一个约定,不在这些元素内部样式化HTML标签,而是在包含的*.css文件中进行。所有HTML标签的自定义应该是添加类和id。
要在Rails中完成这个操作,你应该使用:
<%= button_to "New", { action: "new" }, class: "my_class", id: "my_id" %>
<form method="post" action="/controller/new" class="button_to">
<div><input class="my_class" id="my_id" value="New" type="submit" /></div>
</form>"
button_to
将生成一个HTML按钮(因此它只是一个方便的封装器)。 - Sergio Tulentsevbutton_to
的文档? - DMKE