ActiveAdmin nested form on #show page
activeadmin, ruby-on-rails, ruby-on-rails-3
Solution
I use the following recipe when adding this type of info to a show page
ActiveAdmin.register Post do
show :title => :email do |post|
attributes_table do
row :id
row :first_name
row :last_name
end
div :class => "panel" do
h3 "Comments"
if post.comments and post.comments.count > 0
div :class => "panel_contents" do
div :class => "attributes_table" do
table do
tr do
th do
"Comment Text"
end
end
tbody do
post.comments.each do |comment|
tr do
td do
comment.text
end
end
end
end
end
end
end
else
h3 "No comments available"
end
end
end
end
Problem
Is it possible to add nested form to #show page? Now i have my admin/posts.rb: ``` ActiveAdmin.register Post do show do |post| h2 post.title post.comments.each do |comment| row :comment do comment.text end end end end ``` It lists all the comments for post. Now i need a form to add new comments. I'm trying to do like this: ``` ActiveAdmin.register Post do show do |post| h2 post.title post.comments.each do |comment| row :comment do comment.text end end form do |f| f.has_many :comments do |c| c.input :text end end end end ``` and get an error: undefined method `has_many' for <form></form> :Arbre::HTML::Form Models for Post and Comments look like: ``` class Post < ActiveRecord::Base has_many :comments accepts_nested_attributes_for :comments end class Comment < ActiveRecord::Base belongs_to :post end ``` How do i add that form to my show page? Thanks