データベースに新しいエントリを作成するフォームがあります。フィールドの 1 つは jquery Datepicker を使用します。現時点では、UI カレンダーを使用して日付を選択でき、テキスト ボックスに適切な形式で表示されますが、フォームを送信すると、形式がデフォルト設定に戻り、データベースに保存されます。私のサイトの古いバージョンで以前にこれを機能させたことがあり、すでに投稿されている次の質問を試しましたが、うまくいきませんでした。うまくいけば、誰かが問題を見ることができます。ありがとう。
これが私のプロジェクトコントローラーの一部です:
def create
@project = Project.new(params[:project])
@project.client = params[:new_client] unless params[:new_client].blank?
@project.exception_pm = params[:new_exception_pm] unless params[:new_exception_pm].blank?
@project.project_owner = params[:new_project_owner] unless params[:new_project_owner].blank?
@project.role = params[:new_role] unless params[:new_role].blank?
@project.industry = params[:new_industry] unless params[:new_industry].blank?
@project.business_div = params[:new_business_div] unless params[:new_business_div].blank?
respond_to do |format|
if @project.save
format.html { redirect_to @project, notice: 'Project was successfully created.' }
format.json { render json: @project, status: :created, location: @project }
else
format.html { render action: "new" }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
これが私のフォームビューの一部です:
<%= form_for(@project) do |f| %>
<% if @project.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@project.errors.count, "error") %> prohibited this project from being saved:</h2>
<ul>
<% @project.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :start_date %><br />
<%= f.text_field :start_date, :class => 'datepicker' %>
</div>
<div class="field">
<%= f.label :end_date %><br />
<%= f.text_field :end_date, :class => 'datepicker' %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
これが私のapplication.jsファイルです:
$(function() {
$("#project_start_date").datepicker({dateFormat: 'dd-mm-yy'});
});
$(function() {
$("#project_end_date").datepicker({dateFormat: 'dd-mm-yy'});
});
前もって感謝します!