Rails模型属性默认隐藏在表单中

时间:2013-11-04 08:47:39

标签: javascript ruby-on-rails database ruby-on-rails-3

我是rails的新手并且正在完成一个教程。我创建了一个脚手架和一个数据库,但是当我运行我的网站时,模型属性被隐藏(只有一个)。这是我可以解决的问题还是错误设置的副产品?

$ rails generate scaffold User name:string email:string

我已经尝试了几次(低估)次,所以我添加了一步来删除prev db

$ bundle exec rake db:drop
$ bundle exec rake db:migrate

$ rail s

当我访问/ users / new /

我看到没有输入字段的表单。知道为什么会这样吗?

当我进入页面的html时,它表示隐藏了属性名称,但没有电子邮件的迹象。

有什么想法吗?

对评论的回应

用户/ _form.html.erb

<%= form_for(@user) do |f| %>
  <% if @user.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>

      <ul>
      <% @user.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

schema.rb

ActiveRecord::Schema.define(version: 20131104084139) do

  create_table "users", force: true do |t|
    t.datetime "created_at"
    t.datetime "updated_at"
  end

end

1 个答案:

答案 0 :(得分:1)

您的表单中没有姓名或电子邮件输入字段,因此您会看到一个空白表单。

<div class="actions">

之前添加以下内容
<p>
 <%=f.label :name%>
 <%=f.text_field :name%>
</p>
<p>
 <%=f.label :email%>
 <%=f.text_field :email%>
</p>