将新文本字段添加到rails表单以便rails将注册它的正确步骤是什么?以rails的形式添加新元素
电流形式:
<%= form_for(@order) do |f| %>
<% if @order.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@order.errors.count, "error") %> prohibited this order from being saved:</h2>
<ul>
<% @order.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
# I WANT TO ADD A QUANTITY FIELD TO MY FORM
<div><%= f.label :quantity %><br />
<%= f.text_field :quantity, autofocus: true %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
添加上述代码之后,我修改了数据库迁移。
[时间戳] _create_orders.rb
class CreateOrders < ActiveRecord::Migration
def change
create_table :orders do |t|
# added this line to the database since I want to have a new field in my form
t.string :quantity
t.timestamps
end
end
end
之后,我试图去订单/新创建一个新的订单,看看我的形式正确地输出,而是我得到一个未定义的方法“数量“错误在/订单/新
我在做什么错在这里,我应该怎么做才能解决它?
您是否编辑了现有的迁移文件? 'rake db:migrate'不会重新运行已经运行的迁移,即使它们已被编辑。在db/schema中检查数量字段是否已创建。 – ptd 2014-10-11 18:35:52