我最近开始学习Ruby on rails并学习各种教程。以前,我用PHP编写代码。
我在教程中找到的一种做法如下。我想知道,如果这是最佳方式?使用它的可能方案是什么?
例如,在视图中生成表单时,使用了以下代码:
<h1>Contact us</h1>
<%= form_tag do %>
<%= label_tag ('Name') %>
<%= text_field_tag 'Name','Enter name here'%>
<%= label_tag ('Email') %>
<%= email_field_tag('Email', @email, options = {}) %>
<%= submit_tag "Edit this article" %>
<% end %>
在视图中直接使用HTML代码并在生成动态内容的地方使用ruby不是一个好习惯吗?有什么理由我应该使用这些方法来生成html,而不是更快编码的唯一原因(对于那些更熟悉ruby方法的人)。因为,我是Ruby的新手,我会更快地编写HTML并在需要时使用Ruby,而不是出于生成HTML的简单原因。
行业惯例是什么?不习惯使用Ruby方法生成html的习惯会让我难以阅读其他代码吗?
感谢您提前做出任何回复。
答案 0 :(得分:1)
这些是ActionView::Helper::FormHelpers
的方法。它们不仅生成裸HTML标记。除了插入代码外,它们还会添加足够的id
,class
,data
属性等。例如,动态插入的id
负责创建可用的params
hash,它反过来负责控制器中的大多数表单操作。
您可以尝试直接使用HTML插入,但会发生两件事:
答案 1 :(得分:0)
Rails上的助手确实很有帮助,他们不是为了让它变得更难。当你习惯使用它时,你会感觉很棒。
无论如何你仍然可以直接使用html代码,如果你不想学习或使用帮助你可以做到这一点,但是你会在rails中找到一个很酷的东西,当然如果碰巧你应该在团队中工作我确信团队的其他成员将使用帮助者,而不是html。
rails推出了“约定优于配置”,其中一个优点是要知道作为rails开发人员,你可以在没有太多适应任何Rails项目的情况下工作而不会丢失查找文件,如何mvc working,以及其他类似的东西。
当你学习和练习更多使用助手时,你会开始看到它的所有“力量”,看看它真正有多大帮助。
答案 2 :(得分:0)
您正在使用的ruby方法称为 helpers 。他们就是那样做的:帮助。起初,需要学习很多东西,但在学习它们之后,它们可以节省大量时间。此外,它们不是ruby方法,它们属于rails框架 - 语言和框架是两个截然不同的东西。
以下是您应该使用视图助手的一些原因: