当使用semantic_form_for accurs“ActionView :: Template :: Error(未定义的方法`my_leaders_path'用于#<#

时间:2015-02-28 03:30:17

标签: ruby-on-rails-3 activeadmin renderpartial

模型

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

控制器:

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

佣金路线:

  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 %>

错误是:

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

为什么会这样:未定义的方法`my_leaders_path&#39;? 应该是fieldwork_my_leaders_path吗?

1 个答案:

答案 0 :(得分:0)

好像你的表格花了你一个问题。

以下是文档中的示例。

局部模板 如果要将自定义表单拆分为单独的部分使用:

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

其中包含以下内容:

应用程序/视图/管理/帖/ _form.html.arb

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

这是常规的Rails部分,因此可以使用任何模板引擎。

确保将_content.html.erb放在右侧文件夹中。