將新文本字段添加到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