安装active_admin - 我更新了我的宝石,做了
rails generate active_admin:install
rake db:migrate
Run Code Online (Sandbox Code Playgroud)
然后我想去localhost:3000/admin
我得到这个错误页面
ArgumentError in Active_admin/devise/sessions#new
Showing D:/Ruby192/lib/ruby/gems/1.9.1/gems/activeadmin-0.3.2/app/views/layouts/active_admin_logged_out.html.erb where line #9 raised:
different prefix: "D:/" and "C:/project/app/assets/stylesheets"
(in C:/project/app/assets/stylesheets/active_admin.css.scss)
Extracted source (around line #9):
6: <title><%= [@page_title, active_admin_application.site_title].compact.join(" | ") %></title>
7:
8: <% ActiveAdmin.application.stylesheets.each do |path| %>
9: <%= stylesheet_link_tag path %>
10: <% end %>
11: <% ActiveAdmin.application.javascripts.each do |path| %>
12: <%= javascript_include_tag path %>
Rails.root: C:/project
Application Trace | Framework Trace | Full Trace
Request
Parameters:
None
Show session …Run Code Online (Sandbox Code Playgroud) 我正在尝试在我现有的rails 3.0.9应用程序中实现switch_user gem.我的应用程序有两个模型,它们是
我已经启用了设计身份验证Users,ActiveAdmin也可以很好地工作AdminUser.现在,从我的Active Admin界面,我想选择帐户并登录这些帐户,就像帐户所有者一样.切换用户工作正常,但问题是如果他们知道网址,任何人都可以直接登录到用户帐户.
HTTP://本地主机:3000/switch_user scope_identifier = USER_1
我只需要允许AdminUser(即,如果有ActiveAdmin会话)访问用户的帐户.
这就是我的/config/initializers/switch_user.rb的样子
SwitchUser.setup do |config|
config.controller_guard = lambda { |current_user, request| current_admin_user.nil?}
config.redirect_path = lambda { |request, params| "/dashboard" }
end
Run Code Online (Sandbox Code Playgroud)
但是我得到了这个错误
NameError in SwitchUserController#set_current_user
undefined local variable or method `current_admin_user' for main:Object
Run Code Online (Sandbox Code Playgroud)
无论如何我可以访问活动的管理会话吗?
/config/initializers/active_admin.rb的代码
ActiveAdmin.setup do |config|
config.site_title = "MyAppName"
config.authentication_method = :authenticate_admin_user!
config.current_user_method = :current_admin_user
end
Run Code Online (Sandbox Code Playgroud)
顺便说一下我的应用程序控制器我没有创建任何方法authenticate_admin_user,current_admin_user活动管理员没有它们工作正常.
我正在使用jquery拖放我的应用程序,它工作正常.
然后我添加了activeadmin,它停止了我的jquery工作.
我收到这个错误
$(".draggable_article_image").draggable is not a function
Run Code Online (Sandbox Code Playgroud)
如果我从active_admin.js中删除此行
//= require active_admin/base
Run Code Online (Sandbox Code Playgroud)
它又开始工作了.
有任何想法吗?
我在项目的早期设置了ActiveAdmin,并使用默认admin_users模型进行身份验证.我已经使用Devise来设置一个单独的用户模型,并且已经意识到合并这两个表可能会更加智能,这样管理员就可以在Activeadmin和站点的前端进行管理操作.如何配置ActiveAdmin以使用Users模型,可能使用列来标记管理员(例如,is_admin或者事件是管理员和管理员的权限级别)?
Rails 3.1
ActiveAdmin 0.3.3
Devise 1.4.9
Run Code Online (Sandbox Code Playgroud) 我使用Ruby ruby 1.9.2p290和Ruby on Rails 3.2.1时遇到ActiveAdmin的问题.
我使用此Wiki页面为完美运行的AdminUsers设置资源:您的第一个管理资源:AdminUser
之后我想为我的项目模型创建资源.迁移的内容如下所示:
class CreateProjects < ActiveRecord::Migration
def change
create_table :projects do |t|
t.string :name
t.text :description
t.boolean :isactive
t.timestamps
end
end
end
class AddSlugToProjects < ActiveRecord::Migration
def change
add_column :projects, :slug, :string
add_index :projects, :slug
end
end
Run Code Online (Sandbox Code Playgroud)
我的项目模型:
class Project < ActiveRecord::Base
scope :isactive, :conditions => ["isactive = ?",true]
extend FriendlyId
friendly_id :name, use: [:slugged, :history]
attr_accessible :name, :description, :isactive
end
Run Code Online (Sandbox Code Playgroud)
这就是project_controller:
class ProjectsController < ApplicationController
def index
#
# @projects gets filled …Run Code Online (Sandbox Code Playgroud) 我正在使用管理面板的活动管理员.在用户秀页面上,我需要向朋友们展示.我有两个模型User和Friend.
所以问题是我想在"与面板的友谊"中添加分页,即user.friends阻止.
有人可以帮我在一个面板上添加分页吗?这是我正在使用的代码.
show do
attributes_table do
row("Photo") { |user| image_tag(user.facebook_photo_url) }
rows :name, :sex,:city
end
panel 'Friendship with' do
table_for user.friends do
column "" do |friend|
(link_to image_tag(friend.facebook_photo_url('small')), admin_friend_path(friend)) + " ".html_safe + (link_to friend.name, admin_user_path(friend))
end
end
end
active_admin_comments
end
Run Code Online (Sandbox Code Playgroud)
PS:朋友模特实际上是Facebook的朋友,所以我不能在用户模型上使用自我refrential连接(所以不要说使用一个模型而不是两个)我在同一页面上有一些其他面板.我需要确保每个小组都有自己的分页参数名称,这样它们就不会相互冲突.
我想使用Bootstrap模板主题重新设置ActiveAdmin.但是我需要更改页面的布局以适应.
是否可以覆盖ActiveAdmin的布局以满足我的需求?它看起来与普通的rails约定不同 - 我宁愿使用常规模板完成它,然后按照我需要的顺序生成我需要的内容部分.
我使用的是主动管理导出CSV选项.它返回与特定表相关的所有值.
我希望报告仅针对特定月份.
有人可以帮忙吗?
我使用Activeadmin和Paperclip在我的Rails应用程序上上传图像.当我尝试将大文件上传到S3时,会发生超时错误,因此我必须实现直接上传到S3.
有谁知道我该怎么做?我无法弄明白......
ruby-on-rails amazon-s3 paperclip activeadmin ruby-on-rails-4
我有一个具有从属选择的活动面板,即第一个下拉选择中的选项会影响第二个下拉列表中显示的内容.
几个月前一切都运转良好,但我刚刚意识到它已经不再适用了.
我设法找到导致错误的原因:如果我删除了急切加载("包含"),那么它再次起作用.
不工作:(当前版本):
@deal_subsectors = DealSector.find(params[:deal_sector_id],
include: :deal_subsectors).dealsubsectors
Run Code Online (Sandbox Code Playgroud)
我收到此错误(表单chrome dev tools的控制台)
GET http://localhost:3000/admin/deals/deal_subsectors_by_deal_sector?deal_sector_id=2 404 (Not Found)
send @ jquery.js?body=1:9660
jQuery.extend.ajax @ jquery.js?body=1:9211
jQuery.(anonymous function) @ jquery.js?body=1:9357
jQuery.extend.getJSON @ jquery.js?body=1:9340
update_deal_subsector @ active_admin.js?body=1:19
(anonymous function) @ active_admin.js?body=1:12
jQuery.event.dispatch @ jquery.js?body=1:4666
elemData.handle @ jquery.js?body=1:4334
ListPicker._handleMouseUp @ about:blank:632
Run Code Online (Sandbox Code Playgroud)
工作,当我删除"包含"/急切加载时:
@deal_subsectors = DealSector.find(params[:deal_sector_id]).deal_subsectors
Run Code Online (Sandbox Code Playgroud)
在这种情况下它完美无缺.
但我真的很想加载交易子部门,所以我想知道是什么导致了这个错误,自工作以来发生了什么变化.我有一些假设,但找不到罪魁祸首.
Rails 4改变了我应该使用find的方式(params [:id] ..)或者我应该使用eager loading的方式
做主动管理员改变它处理预先加载的方式:也许它只适用于索引,而不适用于编辑页面......
现在Rails 4上的turbolinks改变了我必须加载的方式吗?
这是代码:
- 在Active Admin上
ActiveAdmin.register Deal do
# controller for the multi-select sector/subsector in the form
# does 2 …Run Code Online (Sandbox Code Playgroud) javascript ruby-on-rails activeadmin turbolinks ruby-on-rails-4
activeadmin ×10
devise ×2
amazon-s3 ×1
javascript ×1
jquery ×1
kaminari ×1
model ×1
pagination ×1
paperclip ×1
ruby ×1
turbolinks ×1