将rails time_select保存为字符串

时间:2016-12-30 09:11:56

标签: ruby-on-rails ruby ruby-on-rails-4 time

我的数据库

中有一个字符串字段
var nudge= element(by.xpath("//a[@class='isd-flat-icons fi-down']"));

for (i = 0; i < 50; i++) { 
    nudge.click();
}

我使用time_select获取class CreateMHolidays < ActiveRecord::Migration def change create_table :m_holidays do |t| t.string :open_schedule, :limit => 50 end end end 字段的值。

open_schedule

在我的控制器中,我尝试

<%= f.time_select :open_schedule, {minute_step: 01, include_blank: true,:default =>{:hour => '00', :minute => '00'},:ignore_date => true}, {:class => 'form-control'} %>

但是当我试图保存记录时,我正在

  

ActiveRecord :: MultiparameterAssignmentErrors(分配时有1个错误)   多参数属性[赋值错误[3,3]到   open_schedule(缺少参数 - open_schedule(1))])

这是我第一次使用@m_holidays = MHoliday.new(m_holiday_params) @open_schedule_hrs = (params[:m_holidays]['open_schedule(4i)']).to_s @open_schedule_mns = (params[:m_holidays]['open_schedule(5i)']).to_s @m_holidays.open_schedule = @open_schedule_hrs + ':' + @open_schedule_mns ,我必须使用字符串字段而不是time_select。怎么去这个?任何帮助非常感谢

1 个答案:

答案 0 :(得分:1)

由于行@m_holidays = MHoliday.new(m_holiday_params)上的质量参数分配,您获得ActiveRecord::MultiparameterAssignmentErrors。这可能是因为m_holiday_params包含MHoliday模型不知道如何处理的参数。

尝试过滤掉与open_schedule的{​​{1}}输入相关的所有内容。如果你有m_holiday_params这样的方法:

m_holiday_params

然后省略def m_holiday_params params.require(:m_holiday).permit('open_schedule(4i)', 'open_schedule(5i)', ...) end 参数:

open_schedule

然后,您可以手动设置def m_holiday_params params.require(:m_holiday).permit(...) end 字符串,就像您已经完成的那样。