0

model:

class MyLeader < ActiveRecord::Base
  extend Enumerize
  belongs_to :interviewer
  attr_accessible :interviewer_id, :is_leader, :content
  enumerize :is_leader, :in => %w[yes no]
end

controller:

ActiveAdmin.register MyLeader,  :namespace => :fieldwork do
 form do |f|
   render :partial => 'content'
 end
end

rake routes:

  batch_action_fieldwork_my_leaders POST    /fieldwork/my_leaders/batch_action(.:format)                        fieldwork/my_leaders#batch_action
                        fieldwork_my_leaders POST   /fieldwork/my_leaders(.:format)                                     fieldwork/my_leaders#create
                     new_fieldwork_my_leader GET    /fieldwork/my_leaders/new(.:format)                                 fieldwork/my_leaders#new
                    edit_fieldwork_my_leader GET    /fieldwork/my_leaders/:id/edit(.:format)                            fieldwork/my_leaders#edit
                         fieldwork_my_leader GET    /fieldwork/my_leaders/:id(.:format)                                 fieldwork/my_leaders#show
                                             PUT    /fieldwork/my_leaders/:id(.:format)                                 fieldwork/my_leaders#update
                                             DELETE /fieldwork/my_leaders/:id(.:format)                                 fieldwork/my_leaders#destroy

_content.html.erb:

<div style="width:80%;margin-left:400px">
    <%= semantic_form_for MyLeader.new do |f| %>
        <%= f.input :interviewer_id, :as => :hidden%>
        <%= f.input :is_leader%>
        <%= f.actions do %>
        <%= f.action :reset, :as => :button %>
        <%= f.action :submit, :as => :button %>
    <% end %>
    <% end %>

The ERROR is:

   ActionView::Template::Error (undefined method `my_leaders_path' for #<#<Class:0x007fadc5f8cdf0>:0x007fadc3d929e8>):

Why this happened: undefined method `my_leaders_path'? should that be fieldwork_my_leaders_path?

DiuDiugirl
  • 71
  • 1
  • 7
  • new_fieldwork_my_leader_path - is the path for rendering form for new record. – Misha Feb 28 '15 at 05:23
  • @misha then why this "undefined method `my_leaders_path'" occurred? Is this meaning the "MyLeader.new" in "<%= semantic_form_for MyLeader.new do |f| %>" gave the path "my_leaders_path"? – DiuDiugirl Feb 28 '15 at 10:06

1 Answers1

0

Seems like your form cost you an issue.

Here is example from documentation.

Partials If you want to split a custom form into a separate partial use:

ActiveAdmin.register Post do
  form partial: 'form'
end

Which looks for something like this:

app/views/admin/posts/_form.html.arb

active_admin_form_for resource do |f|
 inputs :title, :body
 actions
end

This is a regular Rails partial so any template engine may be used.

Make sure that you put _content.html.erb in right folder.

Misha
  • 1,876
  • 2
  • 17
  • 24