Ruby on rails 使用Active admin的Ruby on Rails中缺少模板

Ruby on rails 使用Active admin的Ruby on Rails中缺少模板,ruby-on-rails,ruby,activeadmin,Ruby On Rails,Ruby,Activeadmin,我在我的项目中有一个错误,在活动管理中,它不断告诉我缺少模板。关于如何做的帮助我想发生的是能够在active admin中添加一个staff用户 缺少模板管理员/供应商/更新添加人员, 活动管理员/资源/更新添加员工, 活动管理员/基本/更新添加人员, 继承的\u资源/基础/更新\u添加\u员工,应用程序/更新\u添加\u cat 使用{:locale=>[:en],:formats=>[:html],:variants=>[], :handlers=>[:erb,:builder,:raw,:

我在我的项目中有一个错误,在活动管理中,它不断告诉我缺少模板。关于如何做的帮助我想发生的是能够在active admin中添加一个staff用户

缺少模板管理员/供应商/更新添加人员, 活动管理员/资源/更新添加员工, 活动管理员/基本/更新添加人员, 继承的\u资源/基础/更新\u添加\u员工,应用程序/更新\u添加\u cat 使用{:locale=>[:en],:formats=>[:html],:variants=>[], :handlers=>[:erb,:builder,:raw,:ruby,:coffee,:arb,:jbuilder, :slim,:csvbuilder]}。搜索: /Users/James/work files/apps/views“/Users/James/.gem/gems/designe-4.0.3/app/views”* “/Users/james/.gem/bundler/gems/apipie-rails-1f7d8419b7f4/app/views”* “/Users/james/.gem/bundler/gems/activeadmin-09d00c2d9638/app/views”* “/Users/james/.gem/gems/kaminari-core-1.1.1/app/views”

代码如下:

admin/vendor.rb开始

“添加”按钮连接到操作项:

  action_item :edit_add_staff, only: [:show, :edit] do
    link_to('Add cat', edit_add_staff_admin_vendor_path(resource))
  end
然后,操作项连接到:

<%= simple_form_for([:admin, resource], url: update_add_staff_admin_vendor_path(resource), method: :put) do |f| %>
    <div class="input text optional">
        <label for="vendor_staff_users">Current Staff List</label>
        <div class="indent-display">
            <% resource.staff_users.each do |staff| %>
                ID: <%= staff.id %> | <%= staff.full_name %> <br/>
            <% end %>
        </div>
    </div>

    <div class="input optional">
      <label class="optional" for="vendor_staff_users">Staff ID</label>
      <%= text_field_tag('vendor[staff_user]') %>
      <span class="hint">Hint: Enter the staff user id</span>
    </div>

    <%= f.submit 'Add Staff' %>

  <% end %>
这就是路线:

 resources :vendors, only: [:show, :update] do
    resources :users,         controller: 'vendors/vendor_users' do
      member do
        post :update_add_staff

我希望有人能帮我,我真的不知道该怎么办。帕维尔是对的。您的
成员\u操作
有一个if语句。如果
u.staff\u user==false
,那么它将
重定向到admin\u vendor\u path(resource)
,我假设它正在工作。否则,不会发生渲染或重定向,因此rails将默认尝试渲染,并将尝试渲染操作
update\u add\u staff

要解决这个问题,可以在if语句中添加一个else部分,或者将
重定向\u移到if块之外

# This should resolve the issue
member_action :update_add_staff, method: :put do
  u = User.find(params[:vendor][:staff_user])
  if u.staff_user == false
    u.staff_user = true
    u.vendor_id = id
    binding.pry
    u.save
  else
    flash[:error] = "Access denied"
  end

  redirect_to admin_vendor_path(resource)
end

如果
u.staff\u用户!=false
,您的操作将不会执行重定向
# This should resolve the issue
member_action :update_add_staff, method: :put do
  u = User.find(params[:vendor][:staff_user])
  if u.staff_user == false
    u.staff_user = true
    u.vendor_id = id
    binding.pry
    u.save
  else
    flash[:error] = "Access denied"
  end

  redirect_to admin_vendor_path(resource)
end