RoR:结束form_tag编译错误

时间:2010-07-22 20:02:39

标签: ruby-on-rails

使用表单标记的正确方法是什么,当我包含结尾时,我收到编译错误。当我把它拿出来有效时,我应该用HTML手动结束表单吗?或者我的语法有问题吗?

   <html>
     <head>
      <title>
      Databse connections
      </title>
     </head>
     <body>
      <%= form_tag ( :action => 'create' )%>
       <%= text_field(:album, :title) %>
       <%= text_field(:album, :artist) %>
       <%= text_field(:album, :genre) %>
       <%= datetime_select(:album, :release_date) %>
       <%= submit_tag("Create") %>  
      <% end %>

     </body>
    </html>

1 个答案:

答案 0 :(得分:3)

如果你使用form_tag没有阻止,它只会创建开始标记。如果您要创建这两个标记,则需要将其传递给您似乎正在尝试执行的操作,但在do之后您遗漏了form_tag(...)关键字:

<% form_tag ( :action => 'create' ) do %>
  <%= text_field(:album, :title) %>
  <%= text_field(:album, :artist) %>
  <%= text_field(:album, :genre) %>
  <%= datetime_select(:album, :release_date) %>
  <%= submit_tag("Create") %>  
<% end %>

如果没有do启动阻止,则end是语法错误。如果没有当前语法中的end,则不指定字段在表单中(但它们最终会成为表单的一部分,因为您没有关闭由块创建的表单标记 - 在指定之前少form_tag