2011-08-15 6 views
0

Rubyデータベースに保存するには、日付属性にする必要がある文字列があります。 データを収集し、それをデータベースに送信するRubyメソッドに送信するjavascript関数があります。ただし、フィールドの1つは「日付」フィールドです。 「DateTime」フィールドではなく、jsによって提供されるDate()関数を使用することはできません。私が持っている文字列は、単にこれを認識するためにデータベースを取得するために必要な形式です。javascriptの戻り値を使用してそれをrubyデータベースに追加する

HTML

<form action="/submiteffort" id="effort_form" method="post"> 
    <input type="hidden" id="week_commencing" name="week_commencing" value="x"> 
    <input type="hidden" id="task_id" name="task_id" value="x"> 
    <input type="hidden" id="effort_hours" name="hours" value="0"> 
</form> 
<!-- Javascript code to submit the hidden form --> 
<script> 
function submiteffort(elem, name) 
{ 
    var date = getdate(); 
    $("#week_commencing").val(date); 
    $("#effort_hours").val($(elem).val()); 
    $("#task_id").val(name); 
    $("#effort_form").submit(); 
    return true; 
} 

のgetDate()関数

function getdate() 
{ 
    var myspan = document.getElementById('startDate'); 
    var span_textnode = myspan.firstChild; 
    var span_text = span_textnode.data; 
    myDateParts = span_text.split("/"); 

    var d = myDateParts[0]; 
    var dd = days(d); 

    var m = myDateParts[1]; 
    var subSection2 = m.substring(1,0); 

    if (subSection2 == "0") { 
      mm = m; 
    } 
    else { 
     mm = "0" + myDateParts[1]; 
    } 


    var yy = myDateParts[2]; 

    var actDate = yy + "-" + mm + "-" + dd; 
    return actDate; 
} 

私は私のデータベースは、値iはニーズが欲しいことを認識してもらうにはどうすればよいコントローラ

def submit 

    effort = Effort.new 
    effort.user_id = 10 #current_user.id 
    effort.project_task_id = params[:task_id] 
    effort.week_commencing = params[:wc] 
    effort.hours = params[:hours] 
    effort.save 

    respond_to do |format| 
     format.html 
     format.js 
    end 
    end 

方法を提出「日付」に追加してデータベースに提出しますか?

答えて

1

Dateが認識する形式で日付を送信する場合は、変換を行う必要があります。これには、week_commencing:dateタイプの列として宣言されている必要があります。

log/development.logをご覧になり、質問のリクエストにparamsが設定されているかどうかを確認してください。生成された日付が正しく入力されていることを確認してください。

+0

値が記述されるまではOKです。日付の値はNULLに設定されています...パラメータはまだOKです – SD1990

+0

'Date.parse'で日付を解析できますか?パラメータとして受け取った日付の例は何ですか? – tadman

+0

ここで私は受信した文字列です。私は文字列をDateオブジェクトに変換する必要はありません。なぜなら、それは時間とその必要がないからです。 yyyy-mm-ddの形式で文字列を取得しています – SD1990

関連する問題