ruby-on-rails – 使用Rails保存之前将字符串转换为日期
发布时间:2020-12-16 22:36:22 所属栏目:百科 来源:网络整理
导读:对 Ruby很新,我已经停了几个小时.搜索无处不在,找不到答案. 所以我正在使用rails gem的引导datepicker. 因为我更改了datepicker的日期格式,它不会存储在数据库中.猜测这是因为simple_form输入被用作字符串,以避免由simple_form应用的默认日期选择输入. 我的
对
Ruby很新,我已经停了几个小时.搜索无处不在,找不到答案.
所以我正在使用rails gem的引导datepicker. 因为我更改了datepicker的日期格式,它不会存储在数据库中.猜测这是因为simple_form输入被用作字符串,以避免由simple_form应用的默认日期选择输入. 我的问题是:如何将“06/18/2013”??之类的字符串修改/转换为保存到db之前的日期?这最好由控制器处理吗? 我的控制器: # 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 DB架构: create_table "events",:force => true do |t| t.string "event_name" t.string "event_location" t.date "event_date" t.time "event_time" t.text "event_content" t.datetime "created_at",:null => false t.datetime "updated_at",:null => false t.integer "user_id" t.boolean "approved",:default => true t.integer "category_id" end 这是服务器日志: Started PUT "/events/1" for 127.0.0.1 at 2013-06-14 02:37:15 -0700 Processing by EventsController#update as HTML Parameters: {"utf8"=>"?","authenticity_token"=>"RYMdJ0lFmvG0+nVIsTtJXu5fyD/L3/WAKsk9FX6WWgo=","event"=>{"user_id"=>"1","category_id"=>"3","event_name"=>"A Event Name","event_location"=>"Event Location","event_date"=>"06/13/2013","event_time(1i)"=>"2000","event_time(2i)"=>"1","event_time(3i)"=>"1","event_time(4i)"=>"02","event_time(5i)"=>"18","event_content"=>"First night"},"commit"=>"Update Event","id"=>"1"} User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1 Event Load (0.1ms) SELECT "events".* FROM "events" WHERE "events"."id" = ? LIMIT 1 [["id","1"]] (0.0ms) begin transaction (0.0ms) commit transaction Redirected to http://localhost:3000/events/1 Completed 302 Found in 4ms (ActiveRecord: 0.3ms) 解决方法
您可以在控制器中使用strptime.
DateTime.strptime("06/18/2013","%m/%d/%Y") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- ruby-on-rails-3 – 将字符串保存到文件
- c – GLSL布尔值的大小是多少
- cocos2dx-3.2 之 闪电效果
- .net – 与我实现它的方式相比,IoC Container如何实现依赖注
- Ext.Ajax.request方法 参数
- Office 365 - For security reasons DTD is prohibited in
- C++ map插入数据(STL map插入数据)详解
- ruby-on-rails – 与Elasticsearch,Tire和Kaminari的分页
- ruby-on-rails – 给定一个Paperclip文件,如何清理文件名为
- ruby-on-rails – Rails Cocoon Gem:未定义的方法’new_re