2011-09-11 6 views
1

私は、ユーザーが買い物をする予定の日付を設定するためのフォームをデザインしようとしています。このフォームは「リスト」モデルを作成し、「日付」属性を定義します。私はこのリストモデルを次のように作成しました:date_selectモデルオブジェクトヘルパーを正しく使用するにはどうすればよいですか? (レール)

$ 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 %> 

しかし、私は私のブラウザでフォームを送信すると、ページは、私が選択した日付でフォームを提出していても(私は私のリストを設定して、日付フィールドは空白のままであることを私に伝えます「日付」属性の存在を検証するためのオブジェクト)。なぜフォームが正常に日付を提出してリストを作成できないのですか?ありがとう!

1)フィールド '日付' を呼び出さないでください:私は2つのことをお勧めし

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 
+0

日付がparamsで#createに渡されているかどうか確認できますか?これは、アプリケーションテンプレート(Googleのもの)でparamsハッシュをデバッグすることで行うことができます。 #newと#createの両方にコントローラコードを含めてください。 –

+0

上記の#createコントローラコードを投稿しました。 #新しいものは持っていない。データが作成に渡されたかどうかを確認します。 – jyli7

+0

私は、リストモデル内で日付属性にアクセスできるようにすることを忘れていたことがわかります。ありがとう! – jyli7

答えて

0

​​

は、ここに私のコントローラのコードです。これは予約語であり、矛盾をもたらす可能性があります。

2)calendar_date_select(https://github.com/timcharper/calendar_date_select)のようなプラグインを使用してください。あなたのユーザーはそれを愛するでしょう。

+0

またはJQuery UIの日付/時刻ピッカーを削除することを検討してください(両方ともTrent Richardson iircによるものがあります)... –

関連する問題