Ruby on rails 使用Active admin的Ruby on Rails中缺少模板
我在我的项目中有一个错误,在活动管理中,它不断告诉我缺少模板。关于如何做的帮助我想发生的是能够在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” 代码如下: 从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,:
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