Ruby on rails &引用;“未知属性”;嵌套形式的错误

Ruby on rails &引用;“未知属性”;嵌套形式的错误,ruby-on-rails,forms,nested-forms,Ruby On Rails,Forms,Nested Forms,我有一个名为Appointment的类,它的属性包括start\u time 在我的表单中,我没有直接使用start\u time。我把它分为start\u time\u time(我知道这是一个笨拙的名字)和start\u time\u ymd。我的目标是将start\u time\u ymd和start\u time\u time组合成一个完整的start\u time。(我这样做是因为我不喜欢带有日期字段的助手的UI。) 我得到的错误是未知属性:start\u time\u time,这当

我有一个名为
Appointment
的类,它的属性包括
start\u time

在我的表单中,我没有直接使用
start\u time
。我把它分为
start\u time\u time
(我知道这是一个笨拙的名字)和
start\u time\u ymd
。我的目标是将
start\u time\u ymd
start\u time\u time
组合成一个完整的
start\u time
。(我这样做是因为我不喜欢带有日期字段的助手的UI。)

我得到的错误是
未知属性:start\u time\u time
,这当然并不奇怪,因为
约会
没有任何名为
start\u time\u time
的属性

如果
start\u time\u time
是一个相关模型中的东西,我可以做一些类似于
accepts\u nested\u attributes\u for:where
,但既然不是,那就没有意义了


我该怎么做我想做的事?(我是Rails noob,所以你可能不得不用勺子喂我。)

我认为使用()是你最好的选择。

你可以在你的模型中尝试:

attr_accessible :start_time_time, :start_time_ymd

嗯,这似乎是个不错的主意,但他们做的事情和我不太一样。他们把两个场合并成一个,我把一个场分成两个。据我所知,不可能将设置器分开(
start\u time\u time
start\u time\u ymd
)将值设置为一个值(
start\u time
)。所以我仍然无法解决我的问题。可能很重要:我试图通过说
@Appointment=Appointment.new(params[:Appointment])
来实例化我的
约会
对象。也许我必须实例化一个空白对象并单独设置每个属性才能使此解决方案工作。如果我单独设置每个属性,它就工作了,不管我是否有任何虚拟属性。实际列表示为
DateTime
对象,对吗?您的虚拟属性可以在
DateTime
上分别设置某些属性,而不会相互重叠。不,似乎是在rails3中添加的。我使用的是rails2自动取款机,但它不起作用。(我想我在这个问题的背景下离开了。-必须重新审视它。)