我試圖設計一個表單,讓用戶設置他們去購物的日期。這個表單將創建一個「List」模型並定義「date」屬性。我創建了這個列表模型:如何正確使用date_select模型對象助手? (Rails)
$ rails generate model List name:string date:date user_id:integer
現在我只想讓我的表單設置日期。這裏是我的代碼:
<%= form_for @list do |f| %>
<%= render 'shared/error_messages', :object => f.object %>
<div class="field">
<%= f.date_select :date %>
</div>
<div class="actions">
<%= f.submit "Submit" %>
</div>
<% end %>
但是,當我在我的瀏覽器提交表單的頁面告訴我的:日期欄仍是空白,即使我提交了一份選擇日期的形式(我已經把我的列表對象來驗證「日期」屬性的存在)。爲什麼表單無法成功提交日期並創建列表?謝謝!
這裏是我的控制器代碼:
ListsController < ApplicationController
before_filter :authenticate, :only => [:create, :destroy]
def create
@list = current_user.lists.build(params[:list])
if @list.save
flash[:success] = "Shopping List created!"
redirect_to root_path
else
render 'pages/home'
end
end
你能否確認日期是否被傳遞給參數#create?你可以這樣做,在應用程序模板(Google it)中調試params hash。請包含#new和#create的控制器代碼。 –
我已經發布了上面的#create控制器代碼。沒有#新的。檢查數據是否通過創建。 – jyli7
知道了!原來我忘記了在列表模型中可以訪問日期屬性。謝謝! – jyli7