ActiveAdmin给了我一个
Undefined mixin 'global-reset'.
Run Code Online (Sandbox Code Playgroud)
尝试运行时出错
rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
ActiveAdmin是0.3.4.我的Gemfile中有ActiveAdmin和资产组,包括sass,coffee-rails和uglifier.
我刚刚使用我的Rails 3.1应用程序实现了ActiveAdmin gem,并且它导致了我的应用程序中允许ajax发布评论的一些javascript问题.删除active_admin.js文件会导致问题消失.如何在保留我的应用程序功能的同时保留active_admin的javascript?关于问题可能是什么的任何想法?
active_admin.js的内容:
//= require active_admin/base
Run Code Online (Sandbox Code Playgroud)
我的application.js文件的内容:
//= require jquery
//= require jquery_ujs
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
由ActiveAdmin破坏的Javascript:
jQuery ->
$('.addcomment').live("click", ->
$(this).closest('.comment_area').find('.add_comment_box').parent().removeClass("add_comments_box_hidden").addClass('add_comments_box')
return false )
init_csrf = ->
window._settings.token = $('meta[name="csrf-token"]').attr 'content'
$.ajaxSetup
beforeSend: (xhr) ->
xhr.setRequestHeader "X-CSRF-Token", _settings.token
jQuery ->
$('.post_comment_btn').live("click", ->
$(this).closest('.comment_area').addClass('add_comment_here')
$.post(
'/comments'
$(this).closest('form').serialize()
null
"script"
)
return false )
Run Code Online (Sandbox Code Playgroud)
链接到active_admin github页面.
我使用activeadmin gem创建一个管理页面http://activeadmin.info/ 我使用cancan来授权2种用户,用户管理和图书管理用户的权限.
我的问题是:当图书管理用户登录管理页面时,我如何隐藏资源用户?
我试过这样的东西,但它没有用
menu false if can? :manage, BookHeader
Run Code Online (Sandbox Code Playgroud)
要么
menu false if authorize! :manage, BookHeader
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
我有一个带有Devise(2.2.3)和Active Admin(0.5.1)的应用程序,我先安装了Devise,然后又安装了Active Admin。整个应用程序都需要位于登录名后面,因此在我的应用程序控制器中,我具有以下内容:
before_filter :authenticate_user!
Run Code Online (Sandbox Code Playgroud)
但是,由于将Active Admin安装到根名称空间(config.default_namespace = false,在initializers / active_admin.rb中),所以我的应用程序现在不允许任何人登录。它创建到/ users / login路径的重定向循环。
我试图通过在我的config / application.rb文件中添加skip_before_filter来缓解这种情况,但这没有用
config.to_prepare do
Devise::SessionsController.skip_before_filter :authenticate_user!
UsersController.skip_before_filter :authenticate_user!
end
Run Code Online (Sandbox Code Playgroud)
并且我还将以下内容添加到app / admin / user.rb
controller do
skip_before_filter :authenticate_user!
end
Run Code Online (Sandbox Code Playgroud)
这也什么也没做。最后,我尝试在application_controller.rb中明确排除两个控制器,但这也无济于事。
before_filter :authenticate_user!, except: {controller: [:users, 'devise/sessions']}
Run Code Online (Sandbox Code Playgroud)
如何解决这个相当烦人的问题?
这些天我使用active_admin来管理我的数据.我有一个音频模型和问题模型.音频有很多问题,问题属于音频.我使用active_admin来创建问题.但是在问题的新页面中,有一个下拉列表显示的内容如下:
#<Audio:0xb4116084>
Run Code Online (Sandbox Code Playgroud)
有了这个地址,我几乎无法识别出我想要的文件.我想在Audio的下拉列表中显示的是Audio的标题,它是Audio模型的一列.我只想在新页面中更改此列,其他列保持与默认值相同.我该怎么办?谢谢!
我有一个名为Part的模型,它使用ActiveAdmin,CRUD操作工作正常,但是痕迹导致无法正常生成.这是我在EDIT页面上的痕迹中获得的内容
Admin / Parts / #<Part:0xcd74ef0> /
Run Code Online (Sandbox Code Playgroud)
我正在使用"activeadmin","0.5.0"
我正在使用rails4,activeadmin,globalize和activeadmin-globalize.我创建了一个测试应用程序,但它对我不起作用.
我有一个模型类model.rb
class Post < ActiveRecord::Base
active_admin_translates :title, :text do
validates_presence_of :title
end
end
Run Code Online (Sandbox Code Playgroud)
适当的迁移
class CreatePosts < ActiveRecord::Migration
def up
create_table :posts do |t|
t.timestamps
end
Post.create_translation_table! title: :string, text: :text
end
def down
drop_table :posts
Post.drop_translation_table!
end
end
Run Code Online (Sandbox Code Playgroud)
活动管理页面配置如下
ActiveAdmin.register Post do
permit_params :title, :text, translations_attributes: [:title, :text, :locale]
index do
translation_status
default_actions
end
form do |f|
f.translated_inputs 'Translated fields', switch_locale: false do |t|
t.input :title
t.input :text
end
f.actions
end
end
Run Code Online (Sandbox Code Playgroud)
当我在ActiveAdmin中创建新记录时,一切运行良好,并保存本地化.问题是当我尝试编辑并保存该记录时,没有任何改变.
谁能告诉我我做错了什么?有没有可以下载和试用自己的工作示例解决方案?
更新:
我刚刚发现,每当我尝试更新记录时,都会在翻译表中创建新的翻译记录元组.ActiveAdmin仍然看到第一个.
我需要向Active Admin创建的表单标记添加数据属性.
这是当前的Active Admin表单代码...
ActiveAdmin.register Pdf do
menu parent: "Video Series"
PDFTYPES = {
outline: "Outline",
transcript: "Transcript"
}
member_action :getvideos do
unless params[:id].blank?
render :json => Video.where(video_series_id: params[:id]).to_json.html_safe
end
end
member_action :clearvideo do
#binding.pry
#puts "pdfID : #{id}"
end
index do
column :title
column :description
column :pdf_type
column :created_at
column :updated_at
actions
end
form do |f|
f.inputs "Pdf Content" do
f.input :title
f.input :url
f.input :description
f.input :pos
f.input :video_series, as: :select, include_blank: true, collection: VideoSeries.all.map { |video| ["#{video.title}", …Run Code Online (Sandbox Code Playgroud) 细节:
因为它是一个API,没有cookie和东西,我使用devise_auth_token进行身份验证(不是设计).
身份验证工作正常.但是,我现在正尝试将活动管理员与此相结合,并按照以下步骤操作:
gem 'activeadmin', '1.0.0.pre2'
$ bundle install
$ rails g active_admin:install
$ rake db:migrate db:seed
$rails server
Run Code Online (Sandbox Code Playgroud)
在转到http:// localhost:3000/admin时,它出现以下错误:
ArgumentError in Admin::DashboardController#index
wrong number of arguments (given 1, expected 0)
Run Code Online (Sandbox Code Playgroud)
指向一行:define_method(name) doin:
if instance_reader
remove_possible_method name
define_method(name) do
if instance_variable_defined?(ivar)
instance_variable_get ivar
else
Run Code Online (Sandbox Code Playgroud)
但请注意,直接转到http:// localhost:3000/admin/login会打开登录页面,但在登录后,它会重定向回http:// localhost:3000/admin并显示相同的错误消息.
的Gemfile:
gem 'pg'
gem 'devise'
gem 'devise_token_auth'
gem 'omniauth'
gem 'money-rails'
gem 'swagger-docs' …Run Code Online (Sandbox Code Playgroud) activeadmin ×10
devise ×2
cancan ×1
forms ×1
globalize3 ×1
javascript ×1
localization ×1
ruby ×1
sass ×1