0

我是 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 %>

架构.rb

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

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

end
4

1 回答 1

1

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

在前面添加以下内容<div class="actions">

<p>
 <%=f.label :name%>
 <%=f.text_field :name%>
</p>
<p>
 <%=f.label :email%>
 <%=f.text_field :email%>
</p>
于 2013-11-04T09:07:47.440 回答