Brian McCallister 通过将他所在的 Rails 工作与环境进行比较,出色展示了 Strut-ters 如何工作。在这一轮中,他考察将真正的编程语言释放到视图逻辑中所带来的真正恐惧。他发现将
<% for invite in @invitations %> ... <% end %>
…从 Rails 到具有以下标记库的JSP方法进行比较,结果可能并不会太糟
<%@ taglib uri="/tags/struts-logic" prefix="logic" %> ... <logic:iterate name="invite" property="invitation"> ... </logic:iterate>
它们确实看起来挺相似。如需详细讨论,请阅读我对模板语言的看法以及在 Rails 中,小脚本方法为何奏效。
作为一个边注,我想要提出一些改进,以改善 Brian 在其示例中使用的标记/值组合。例如,我们可以转换
<form action="<%= url_for :action => 'register', :controller => 'rsvp' %>"> ... <input type="text" name="invite_names[<%= slot %>]" length="30"<%= "value='#{@invite.split_names[slot]}'" %>/> ...
以使用更多简洁的FormTagHelper帮助程序方法
<%= form_tag :action => 'register', :controller => 'rsvp' %> ... <%= text_field_tag "invite_names[#{slot}]", @invite.split_names[slot] %>
但这只是吹毛求疵。Brian 出色地用熟悉的术语表达了未知的事物。如果您需要一些有关帮助程序的可视化信息,请观看这段视频,演示如何在 Rails 中创建帮助程序方法。