部分表单呈现但未显示

时间:2012-08-12 14:17:43

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.1

我一直在关注允许我创建登录帐户的教程。我很确定我已经遵循了所有步骤,但是不会显示创建新帐户的表单。

new.html.erb:

  <% form_for @user, :url => account_path do |f| %>

  <%= f.error_messages %>

  <%= render :partial => 'form', :locals => { :f => f } %>

  <%= f.submit "Register" %>

  <% end %>

_form.html.erb:

   <p><%= f.label :login %></p>

   <p><%= f.text_field :login %></p>

   <p><%= f.label :email %></p>

   <p><%= f.text_field :email %></p>

   <p><%= f.label :password, f.object.new_record? ? nil : "Change password" %></p>

   <p><%= f.password_field :password %></p>

   <p><%= f.label :password_confirmation %></p>

   <p><%= f.password_field :password_confirmation %></p>

当我转到/users/new时,调试器会将其吐出:

   ApplicationController::current_user_session
   Rendered users/_form.html.erb (3.0ms)
   Rendered users/new.html.erb within layouts/application (9.8ms)
   Completed 200 OK in 165ms (Views: 99.7ms | ActiveRecord: 0.0ms)


   Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2012-08-12 09:06:44 -0500

所以,它告诉我它已成功渲染,但是当我访问该链接时,没有任何显示。有谁知道为什么?

1 个答案:

答案 0 :(得分:12)

您需要将<%= erb标记与任何生成输出的帮助方法一起使用。这包括form_for和输入标签。

<%= form_for ... %>

<% end %>