2005 年 2 月 25 日星期五

Rails for Strut-ters:处理视图

发布者:admin

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 在其示例中使用的标记/值组合。例如,我们可以转换

&lt;form action="<%= url_for :action => 'register', :controller => 'rsvp' %>">  
...
   &lt;input type="text" 
          name="invite_names[&lt;%= slot %>]" 
          length="30"&lt;%= "value='#{@invite.split_names[slot]}'" %>/>
...

以使用更多简洁的FormTagHelper帮助程序方法

&lt;%= form_tag :action => 'register', :controller => 'rsvp' %>
...
&lt;%= text_field_tag "invite_names[#{slot}]", @invite.split_names[slot] %>

但这只是吹毛求疵。Brian 出色地用熟悉的术语表达了未知的事物。如果您需要一些有关帮助程序的可视化信息,请观看这段视频,演示如何在 Rails 中创建帮助程序方法