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
方法を提出「日付」に追加してデータベースに提出しますか?
値が記述されるまではOKです。日付の値はNULLに設定されています...パラメータはまだOKです – SD1990
'Date.parse'で日付を解析できますか?パラメータとして受け取った日付の例は何ですか? – tadman
ここで私は受信した文字列です。私は文字列をDateオブジェクトに変換する必要はありません。なぜなら、それは時間とその必要がないからです。 yyyy-mm-ddの形式で文字列を取得しています – SD1990