将参数传递给Active Admin中的新操作
我有两个相关的模型,Bunny has_many BunnyData(属于Bunny)。 从特定Bunny的显示页面(在Active Admin中),我想创建一个链接来创建相关的BunnyData。 我尝试了几种不同的方法,没有成功,我正在尝试这样做:
sidebar :data, :only => :show do link_to 'New Data', new_admin_bunny_datum(:bunny_id => bunny.id) end
生成的链接最终会像:
.../admin/bunny_data/new?bunny_id=5
但是当你转到那个页面时,Bunny的下拉列表被设置为空白默认值,而不是显示ID为5的Bunny名称。
提前致谢。
Rails命名空间将字段表示为数据模型,在本例中为BunnyData。 对于要预填充的表单,提供的任何字段还必须包含命名空间。 举个例子:
ActiveAdmin.register Post do form do |f| f.inputs "Post Details" do f.input :user f.input :title f.input :content end f.actions end end
可以通过将哈希传递给路径助手来预填充字段。
link_to 'New Post', new_admin_post_path(:post => { :user_id => user.id })
这将生成以下路径并设置表单字段。
/admin/posts/new?post[user_id]=5
在BunnyData的情况下,由于单数和复数forms的数据,它可能略有不同。 但是可以通过检查生成的HTML来查找输入的name
属性来validation。