【问题标题】:when using semantic_form_for accurs "ActionView::Template::Error (undefined method `my_leaders_path' for #<#<Class...)"当使用 semantic_form_for accurs "ActionView::Template::Error (undefined method `my_leaders_path' for #<#<Class...)"
【发布时间】:2015-02-28 03:30:16
【问题描述】:

型号

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

rake 路线:

  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”? 应该是 fieldwork_my_leaders_path 吗?

【问题讨论】:

  • new_fieldwork_my_leader_path - 是为新记录呈现表单的路径。
  • @misha 那么为什么会出现这种“未定义的方法 `my_leaders_path'”?这是否意味着“”中的“MyLeader.new”给出了路径“my_leaders_path”?

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


【解决方案1】:

您的表单似乎让您出了问题。

这是文档中的示例。

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

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

寻找这样的东西:

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

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

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

确保将 _content.html.erb 放在正确的文件夹中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-28
    • 1970-01-01
    • 2015-04-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多