0

2 つの別個の db テーブルに対応する 2 つのモデルがあります。
1つはtaskあり、もう1つはbookedhour

関係はまるで

Task: has_many booked_hours
BookedHour: belongs_to Task

タスクを作成するには、そのタスクのモデルから予約時間が必要BookedHourです。それは新しいタスクの形であり、そのためattr_accessorにタスクモデルで宣言されています。
今、私はそのタスクを保存し、タスクを保存するときに予約した時間を保存したいと考えています.(基本的には、新しいものtaskbookedHoursシングルクリックで保存したい)

タスクの create メソッドで次のコードを使用しましたが、機能しませんでした。保存した後にこの行を書きますtask(@task.save)

BookedHour.create(:user_id => @user_id, :project_id => session[:actual_project].id, :hours_booked => params[:task][:spend_today])

コンソールで次のようになり、レコードを保存しませんでしbookedhoursたが、新しいタスクを正常に保存しました。

BookedHour Columns (0.7ms)   SHOW FIELDS FROM `booked_hours`      
  SQL (0.1ms)   BEGIN     
  SQL (0.0ms)   ROLLBACK
4

2 に答える 2

1

で試してください

@task.booked_hours.create!(:user_id => @user_id, 
                           :project_id => session[:actual_project].id, 
                           :hours_booked => params[:task][:spend_today])

問題がある場合 (トランザクションがロールバックした場合)、例外が表示され、それを解決することができます。

BookedHour クラスの検証部分を投稿していただけますか? (クラス定義の「belongs_to」、「validate_...」、「validates」で始まるすべての行)

于 2012-10-02T08:57:57.527 に答える