我有一个类似的表格:
=form_for @client do |c|
=c.label :name
=c.text_Field :name
=c.fields_for :places do |p|
=link_to p.object.location, edit_client_location_path(@client, p.object.id)
=p.text_field :status
link_to
应该打开一个窗口弹出窗口,其中包含表places
中的其他字段,因此我要求id
中的edit_client_location_path
字段包含在id
中},但我收到 =link_to p.object.id, '#'
=p.text_field :status
为零的错误。
奇怪的是,如果我用它替换它:
link_to
...我确实在视图中打印了id。如果我将其包含在 -id=p.object.id
=link_to p.object.location, edit_client_location_path(@client,id)
=p.text_field :status
中,并且对于任何其他属性也会出现相同的错误,则只会发生此错误。
我试图将id保存在一个变量中:
p.object.id.dup
但我也得到一个错误,它是零。如果我尝试使用 =link_to p.object.location, "/clients/#{@client.id}/location/#{p.object.id}/edit"
,我会收到Fixnum无法复制的错误。我很困惑。
我错过了什么?有没有更好的方法来访问ID?
更新
作为一种解决方法,我现在正在使用
p
出于某种原因,link_to
内的errorMessages=
error404Find: "Hosts not found"
error404FindByHost: "Host - #{hostName} - not found"
error400: "No host"
将为零。我不知道我的应用程序中是否有其他内容正在执行此操作,我将在稍后的干净设置中尝试复制此内容。
答案 0 :(得分:0)
edit_client_location_path(@client, p.object)