升级到 v1.1.0 后,Active Admin 资源缺少模板
Active Admin resources missing template after upgrade to v1.1.0
ActiveAdmin.register Document do
controller do
def create
create!
end
end
end
这在 ActiveAdmin 0.6.6 中运行良好,但在升级到 v1.1.0 后,它无法找到创建模板并抛出 ActionView::MissingTemplate
:
Missing template documents/create, active_admin/resource/create, active_admin/base/create, inherited_resources/base/create, application/create with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :arb, :haml]}. Searched in:
* "/Users/ent/Desktop/Apps/vent/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/activeadmin-1.1.0/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/kaminari-core-1.1.1/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/devise_cas_authenticatable-1.10.4/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/devise-4.6.2/app/views"
升级后有什么我遗漏的变化吗?
我尝试了以下版本的活动管理员:1.0.0、1.2.0、1.2.1、1.3.0、1.3.1、1.4.0、1.4.1、1.4.2、1.4.3 但是它们都有同样的错误。降级回 0.6.6 似乎可以解决问题。
我认为这是因为 create
通常没有自己的观点。
要修复它,您可以使用此构造并指示控制器操作在创建操作成功/失败时执行的操作。在此示例中,成功时我们将重定向到资源详细信息,失败时我们将呈现 new
视图(因为很可能资源验证失败并且用户需要更新并重新提交表单):
controller do
def create
super do |success, failure|
success.html { redirect_to your_resource_path(resource), notice: "#{resource.name} has been created." }
failure.html { render :new }
end
end
end
ActiveAdmin.register Document do
controller do
def create
create!
end
end
end
这在 ActiveAdmin 0.6.6 中运行良好,但在升级到 v1.1.0 后,它无法找到创建模板并抛出 ActionView::MissingTemplate
:
Missing template documents/create, active_admin/resource/create, active_admin/base/create, inherited_resources/base/create, application/create with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :arb, :haml]}. Searched in:
* "/Users/ent/Desktop/Apps/vent/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/activeadmin-1.1.0/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/kaminari-core-1.1.1/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/devise_cas_authenticatable-1.10.4/app/views"
* "/Users/ent/.rvm/gems/ruby-2.5.5/gems/devise-4.6.2/app/views"
升级后有什么我遗漏的变化吗? 我尝试了以下版本的活动管理员:1.0.0、1.2.0、1.2.1、1.3.0、1.3.1、1.4.0、1.4.1、1.4.2、1.4.3 但是它们都有同样的错误。降级回 0.6.6 似乎可以解决问题。
我认为这是因为 create
通常没有自己的观点。
要修复它,您可以使用此构造并指示控制器操作在创建操作成功/失败时执行的操作。在此示例中,成功时我们将重定向到资源详细信息,失败时我们将呈现 new
视图(因为很可能资源验证失败并且用户需要更新并重新提交表单):
controller do
def create
super do |success, failure|
success.html { redirect_to your_resource_path(resource), notice: "#{resource.name} has been created." }
failure.html { render :new }
end
end
end