首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails3 time_select未正确分配给模型时间列

Rails3 time_select未正确分配给模型时间列
EN

Stack Overflow用户
提问于 2012-08-31 17:09:21
回答 1查看 286关注 0票数 0

我刚刚从rails 2.3.14升级到3.2.2。在升级之前,我的time_select运行得很好。现在,在我分配参数后,模型的'start_time‘和'end_time’列总是为空。

视图如下所示:

代码语言:javascript
复制
        <%=label_tag("Start Time")%>
    <div class="datetime-select">
        <%=time_select(:calendar_event,:start_time,{:minute_step => 5},{:class=>'time'})%>
    </div>
    <%=label_tag("End Time")%>
    <div class="datetime-select">
        <%=time_select(:calendar_event,:end_time,{:minute_step => 5},{:class=>'time'})%>
    </div>

下面是控制器中返回的参数:

代码语言:javascript
复制
  Parameters: {"authenticity_token"=>"aGF3mZbZvIDiv6ikH0M8Up2HoTqyXiAFqk+6Wsjbq6g=", "calendar_event"=>{"start_date"=>"Fri Aug 31 10:30:00 +1200 2012", "calendar_resource_id"=>"", "start_time(1i)"=>"2012", "organisation_id"=>"", "start_time(2i)"=>"8", "start_time(3i)"=>"31", "booking_type"=>"WORKER", "start_time(4i)"=>"10", "end_time(1i)"=>"2012", "id"=>"", "start_time(5i)"=>"30", "end_time(2i)"=>"8", "user_id"=>"31", "end_time(3i)"=>"31", "end_time(4i)"=>"11", "description"=>"ssss", "end_time(5i)"=>"00", "end_date"=>"Fri Aug 31 11:00:00 +1200 2012"}}

下面是将属性分配给模型的代码:

代码语言:javascript
复制
      @calendar_event=CalendarEvent.new(params[:calendar_event])
      logger.info(@calendar_event.inspect)

下面是来自日志语句的CalendarEvent模型的内容:

代码语言:javascript
复制
#<CalendarEvent id: nil, description: "ssss", booking_type: "WORKER", start: nil, end: nil, start_date: "2012-08-31", end_date: "2012-08-31", start_time: nil, end_time: nil, allDay: false, calendar_resource_id: nil, organisation_id: nil, user_id: 31, group_session_id: nil, created_at: nil, updated_at: nil>

start_time和end_time始终为零。

在schema.rb中,它们被定义为“时间”列。

EN

回答 1

Stack Overflow用户

发布于 2012-08-31 19:40:13

这可能是一个大量分配的问题,并且您没有打开警告。尝试将以下内容添加到模型中:

代码语言:javascript
复制
attr_accessible :start_time, :end_time

您还可以将其添加到您的development.rb环境中,以便收到以下类型的错误通知:

代码语言:javascript
复制
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12212234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档