我是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
答案 0 :(得分:1)
您的表单中没有姓名或电子邮件输入字段,因此您会看到一个空白表单。
在<div class="actions">
<p>
<%=f.label :name%>
<%=f.text_field :name%>
</p>
<p>
<%=f.label :email%>
<%=f.text_field :email%>
</p>