小编Bar*_*y P的帖子

使用Rails保存之前将字符串转换为日期

对Ruby来说很新,我已经被困了几个小时.到处搜索,找不到答案.

所以我正在使用rails gem的bootstrap datepicker.

因为我已经更改了日期选择器的日期格式,所以它不会存储在数据库中.猜测这是因为simple_form输入被用作字符串以避免simple_form应用的默认日期选择输入.

我的问题是:如何将"06/18/2013"​​之类的字符串修改/转换为保存到数据库之前的日期?这最好由控制器处理吗?

我的控制器:

# PUT /events/1
# PUT /events/1.json
def update
  @event = Event.find(params[:id])

  # Ugghhhh I need help
  # @event.event_date = Date.parse(params[:event_date]).to_date

  respond_to do |format|
    if @event.update_attributes(params[:event])
      format.html { redirect_to @event, :notice => 'Event was successfully updated.' }
      format.json { head :no_content }
    else
      format.html { render :action => "edit" }
      format.json { render :json => @event.errors, :status => :unprocessable_entity }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

数据库架构:

  create_table "events", :force => true do |t|
    t.string   "event_name"
    t.string …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails simple-form twitter-bootstrap-rails

9
推荐指数
1
解决办法
6972
查看次数