我正在开发一个简单的程序,客户可以在其中下很多订单(即'customer' has_many :orders & 'order' belongs_to :customer)
我有一个接受客户姓名和订单日期的表格:new.html.erb
<h1>New order</h1>
<%= form_tag orders_path, method: 'post' do %>
<div class="field">
<%= label_tag 'customer_name' %><br />
<%= text_field_tag :customer_name,params[:customer_name] %>
</div>
<div class="field">
<%= label_tag 'order_date' %><br />
<%= datetime_select :order_date, params[:order_date] %>
</div>
<div class="actions">
<%= submit_tag "create" %>
</div>
<% end %>
控制器中对应的方法如下所示:
def create
@customer= Customer.find_by_name(params[:customer_name])
@order = @customer.orders.new(:order_date => params[:order_date])
respond_to do |format|
if @order.save
format.html { redirect_to @order, notice: 'Order was successfully created.' }
format.json { render json: @order, status: :created, location: @order }
else
format.html { render action: "new" }
format.json { render json: @order.errors, status: :unprocessable_entity }
end
end
end
我的问题是, params[:order_date] 是一个哈希,我想将它作为“日期时间”值发送到数据库。我通过声明另一个类型为“DateTime”的变量尝试了一些组合,然后将其传递给数据库,但它根本不起作用。解决方案是什么?提前致谢:)