attr_accessor使用select_date获取日期和问题
我正在尝试使用attr_accessor作为通常正常工作的日期,除非我尝试将其与select_date帮助器方法一起使用。
看看帮助器方法背后的代码,我猜它会查找具有日期类型的表列。在这种情况下,由于没有表,它没有正确处理它,我得到:
的ActiveRecord :: MultiparameterAssignmentErrors
"search"=>{"number_of_days"=>"3",
"searchable_id"=>"6933",
"startdate(1i)"=>"2011",
"startdate(2i)"=>"2",
"startdate(3i)"=>"11"}}
有没有解决的办法?或者我是否需要在控制器中创建某种过滤器?我更喜欢在模型级别上做,但我不知道如何处理这种情况?每个人的attr_accessor似乎有点过分杀人。其他人有一个优雅的解决方案?
没有找到相关结果
已邀请:
3 个回复
糕泰灌
点击这里
玖料萄
用于构建与模型字段无关的下拉列表(您可以在另一侧获取它们并根据需要执行所需操作)。我假设你的意思是
哪个用掉了模特? 在任何情况下,据我所知,长话短说,没有好的和漂亮的方式让这个工作。这不是因为帮助程序的工作方式,而是因为活动记录处理这些属性的方式分为多个参数。 如果你感兴趣的话会更详细一点,这就是因为当Active Record正在处理你传入的参数时,它会通过
来解释已被拆分为的键。 “date(1i)”样式,并将它们粘贴到它们应该适用的类中(日期或时间对象)。它是否应该创建一个日期或时间的方法是通过检查它与属性的类型(见这里),但由于你的'startdate'属性没有绑定到特定的类型,它不会得到被视为数据库中的日期或日期时间列。 我想我会像@ Phyo-Wai-Win一样处理它,但是使用
在'search'命名空间之外设置一个不同的参数,然后在控制器中根据需要传递给模型。这样,它没有多少工作,这意味着你没有弄乱你初始化记录的方式或它预期的属性。
藐刚
从控制器保存时自动运行它。 params参数实际上是来自控制器的params [:my_model]。