在rails中,是否使用表单助手?

在rails中,是否建议使用表单助手? 在内部,一切都归结为普通的html然后为什么不直接写html? 在编写直接html时,性能显然会比使用帮助程序更好。 使用表单助手像惯例或铁轨开发人员必须遵循的东西?

定义性能。 您的表现还是应用程序? 假设您在视图中分布了相同的rhtml代码段。 假设你在成千上万的地方拥有它。 也许你甚至没有在所有地方都完全一样。 现在,您的客户想要更改此信息(可能是不同的演示顺序或其他类似内容)。 在所有观点中你都需要一段时间才能做到这一点,对吧? 你第一次有可能无法做到这一点。 事实上,您可能会在未来几年内不断收到错误报告的错误报告。

客户最终将为获得“性能”而付出很多。 也许数百个工作小时。 如果你原则上避免DRY原则,也许可能成千上万。 想想所有服务器以及她可以为这些工作时间购买的所有RAM。 如果她把所有这些花在硬件上,她的应用程序可能会快一百倍。 想想你可以使用的所有有趣的事情,而不是围绕更改html片段进行捣蛋。

我认为表格助手是DRY(不要重复自己)原则的反映。 而不是编写相同的代码来执行类似的任务,创建一个允许您重用该代码的表单帮助程序是要走的路。 这样,如果您需要进行更改或修复,您只需要在一个地方进行更改或修复。 它还有助于使代码更加紧凑和可读,从而将复杂的操作抽象为表单助手。 部分视图也是如此,尽管部分视图倾向于封装比表单助手更复杂的标记。

表单助手对于让rails根据您的模型处理创建表单特别有用。 引用API文档的示例:

以下代码

<% form_for :person, @person, :url => { :action => "create" } do |f| %> <%= f.text_field :first_name %> <%= f.text_field :last_name %> <%= submit_tag 'Create' %> <% end %> 

生成这个HTML

 

您可以自己编写html,但是通过使用表单助手,您必须输入less并使表单创建更少依赖于rails实现。 当您点击提交按钮时,总会得到一个将数据写入模型的表单。 如果rails开发人员改变了这个的实现,你会自动从你的帮助器中获得正确的html输出。 如果您手动编写了html,则必须更新所有内容以反映rails内部工作的更改。

当一个开发人员具有相同名称的类,id并且输入字段没有值时,如果他需要不同的名称id并且还给出值,那么它似乎很好,那么他必须写<%= text_field_tag“name”,:value =>“value” ,:id =>“id”,:class =>“”class%>并且对于相同的html可以是现在考虑开销1.将第一个帮助器评估为html 2.现在也考虑帮助器的长度我们也要写:,=> 3.有时你忘记使用:或者,错误所以我认为我们更喜欢html在这种情况下,如果您的服务器收到大量请求而不是太忙而且响应时间会增加,因为<%=%>应该执行