2012-07-03 137 views
1

我有一个资源照片,属于广告。获取ActiveAdmin/Formtastic中父对象的ID

在ActiveAdmin,用户应该能够直接从广告的编辑页面上传照片(明明只有一次广告已创建)。

形式产生如下:

form do |f| 

    [... the usual forms ...] 

    f.inputs "Photos" do 
     f.has_many :photos, :title => "Photo" do |p| 
     p.input :advert, :as => :hidden, :value => Advert.find(params[:id]) 
     p.input :title 
     p.input :image 
     end 
    end 

end 

我想线

p.input :advert, :as => :hidden, :value => Advert.find(params[:id]) 

,以产生与所述用户正在编辑的广告的ID隐藏字段,然而,这只是产生一个空的领域。我也尝试了一些其他的选择,但似乎无法弄清楚。

任何提示?

回答

2

您可以使用advert变量,该变量包含带有来自params的id的Advert对象。顺便提一下,你的代码无效。你得到整个广告对象,而不仅仅是id。有效代码:

p.input :advert, :as => :hidden, :value => Advert.find(params[:id]).id 

这应该工作,太

+0

非常好,谢谢。 – simonrohrbach