标签: activeadmin

ActiveAdmin和就地编辑

我有这个系统,我使用ActiveAdmin自动化后端,我想知道是否有人尝试使用ActiveAdmin的表进行就地编辑.

我看到一些有用的场景:键值表(如State,Category等)和master-detail视图(Order和OrderItems)......

有没有人试图实现它?有什么好的指针吗?

ruby-on-rails edit-in-place activeadmin

7
推荐指数
2
解决办法
4190
查看次数

ActiveAdmin中的多租户,多管理员用户

我正在构建一个以ActiveAdmin作为主管理界面的多租户应用.我已经使用acts_as_tenant gem来很好地分离数据.

我已将AdminUser模型用作所有用户的用户模型对象.

为了添加其他用户,AdminUser也作为租户的范围.

这是在抛弃登录,因为当ActiveAdmin/Devise尝试进行身份验证时,我认为它首先点击了find_tenant过滤器,如下所示:

class ApplicationController
  set_current_tenant_through_filter

  before_filter :find_tenant

  def find_tenant
     if admin_user_signed_in?
      set_current_tenant(Company.find(current_admin_user.company_id))
     end
  end
Run Code Online (Sandbox Code Playgroud)

不确定如何解决这个问题...我希望用户登录,然后应用程序从登录用户获取company_id并设置租户,ActiveAdmin上显示的所有数据都通过该租户确定范围(此部分适用于acts_as_tenant gem如果我可以通过登录).

谢谢

ruby-on-rails multi-tenant devise activeadmin

7
推荐指数
1
解决办法
1562
查看次数

Rails 3.2 ActiveAdmin'集合不是分页范围.' 错误

我正在使用Rails 3.2和ActiveAdmin 0.4.4开发一个应用程序.我的模型名为Teaser(/app/models/teaser.rb):

class Teaser < ActiveRecord::Base
  attr_accessible :img, :name, :url
  validates :img, :name, :presence => true
  mount_uploader :img, TeaserUploader
end
Run Code Online (Sandbox Code Playgroud)

我添加了ActiveAdmin(/app/admin/teaser.rb):

# encoding: UTF-8
ActiveAdmin.register Teaser do
    form do |f|
        f.inputs "Teaser" do
            f.input :name, :label => '?????'
            f.input :url, :label => '??????'
            f.input :img, :as => :file, :label => '????????'
        end
        f.buttons
    end
end
Run Code Online (Sandbox Code Playgroud)

现在,当我去'http:// localhost:3000/admin/teasers'时,我收到以下错误:

显示C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activeadmin-0.4.4/app/views/active_admin/resource/index.html.arb第1行引发:收集不是分页范围.在调用之前设置collection.page(params [:page]).per(10):paginated_collection.

当我在linux上测试我的应用程序时,我得到了同样的错误(Ubuntu 12.04).

我可以通过这种方式解决这个问题(/app/admin/teaser.rb):

# encoding: UTF-8
ActiveAdmin.register Teaser, :as => 'Somename' do
Run Code Online (Sandbox Code Playgroud)

但是如果我使用这种方法,我就无法使用/app/config/locales/XX.yml来翻译这个模型

所有其他模型都正常工作.

ruby ruby-on-rails activeadmin

7
推荐指数
2
解决办法
4129
查看次数

ActiveAdmin操作项取决于数据的状态

如果要编辑的对象具有特定状态,我想隐藏编辑路径.

我怎样才能做到这一点?

ruby-on-rails activeadmin

7
推荐指数
3
解决办法
8282
查看次数

Activeadmin可以授权错误

在调用controller.load_and_authorize_resource时出现以下错误

 protected method `authorize!' called for #<Admin::ProjectsController:0x1405de80>
Run Code Online (Sandbox Code Playgroud)

捆绑更新后就会发生这种情况.

Gem文件包含以下条目,

 gem "activeadmin" , git: 'git://github.com/gregbell/active_admin.git'
Run Code Online (Sandbox Code Playgroud)

活动管理员版本:0.5.1

提前致谢.

cancan ruby-on-rails-3 activeadmin

7
推荐指数
1
解决办法
2436
查看次数

使用RSpec编写ActiveAdmin的控制器和功能规格?

如何为以下ActiveAdmin代码编写控制器和功能规范:

# app/admin/organization.rb
ActiveAdmin.register Organization do
  batch_action :approve do |selection|
    Organization.find(selection).each {|organization| organization.approve }
    redirect_to collection_path, notice: 'Organizations approved.'
  end
end
Run Code Online (Sandbox Code Playgroud)

这是我的功能规格.它找不到ActiveAdmin在弹出菜单中加载的"批处理操作".

# spec/features/admin/organization_feature_spec.rb
require 'spec_helper'
include Devise::TestHelpers

describe 'Admin Organization' do
  before(:each) do
    @user = FactoryGirl.create(:admin_user)
    login('admin@company.com', 'password1')
  end

  it 'approves in batch' do
    organization = FactoryGirl.create(:organization)
    visit admin_organizations_path
    check 'collection_selection_toggle_all'
    click_link 'Batch Actions'
    click_link 'Approve Selected'
    organization.reload
    organization.state.should eq 'approved'
  end
end
Run Code Online (Sandbox Code Playgroud)

版本

  • Rails 3.2.14
  • ActiveAdmin 0.6.0

rspec2 activeadmin ruby-on-rails-3.2

7
推荐指数
1
解决办法
3000
查看次数

如何在ActiveAdmin gem中创建自定义页面

Ruby 2.0,Rails 4.0,PSQL 9.3

在ActiveAdmin文档中有一个示例:

ActiveAdmin.register_page "My Page" do
  content do
    para "Hello World"
  end
end
Run Code Online (Sandbox Code Playgroud)

我在哪里放这个代码?文件说:

在上面的示例中,将在/ admin/my_page创建一个新页面,标题为"我的页面",内容为"Hello World".

这意味着这样的文件会以某种方式自动创建?不过,我创建了一个名为import.rbapp/admin的文件,菜单中的Import项确实出现了.但是,我无法使用HTML,因为此文件是.rb而不是.erb.我想,为了能够使用html,我需要在方法中创建一个partial和den渲染它content.但当我看到下面app/views没有admin文件夹(只layouts).这是否意味着我需要创建该文件夹adminapp/views?如果是的话,我应该把我的部分放在哪里 - 直接放在app/views/admin新文件夹下面或下面app/views/admin/import

我很抱歉菜单问题,但ActiveAdmin的文档非常适中.如果有人能够提供有关在ActiveAdmin中为新页面创建和添加内容所需步骤的详细说明,我将不胜感激.

ruby-on-rails activeadmin ruby-on-rails-4

7
推荐指数
1
解决办法
5215
查看次数

为Active Admin gem侧栏过滤器设置下拉搜索类型默认值

我正在使用ActiveAdmin rails gem并为我的某个模型配置了几个过滤器.对于其中一个字符串过滤器,我想将搜索类型下拉列表("包含","等于","开始时间","结束时")设置为默认为"等于"而不是"包含".

此外,类似地,我想将我的一个数字过滤器设置为默认为"大于"而不是"等于".

这是相关配置......

filter :message
filter :likes_count, as: :numeric
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails filter activeadmin

7
推荐指数
1
解决办法
1470
查看次数

将参数传递给Active Admin中的新操作

我有两个相关的模型,Bunny has_many BunnyData(属于Bunny).从特定Bunny的显示页面(在Active Admin中),我想创建一个链接来创建相关的BunnyData.我尝试了几种不同的方法,没有成功,我正在尝试这样做:

sidebar :data, :only => :show do
  link_to 'New Data', new_admin_bunny_datum(:bunny_id => bunny.id)
end
Run Code Online (Sandbox Code Playgroud)

生成的链接最终会像:

.../admin/bunny_data/new?bunny_id=5

但是当你转到那个页面时,Bunny的下拉列表被设置为空白默认值,而不是显示ID为5的Bunny名称.

提前致谢.

ruby-on-rails activeadmin

7
推荐指数
1
解决办法
6059
查看次数

活动管理员:无法访问显示/编辑页面

我遇到Active Admin问题.以下是版本:

  • 红宝石'2.2.1'

  • rails'4.2.0'

  • activeadmin:1.0.0.pre1

  • arbre:1.0.3(提到这个,因为它似乎与我的问题有关联)

我们升级到rails 4.2并且还必须升级activeadmin(从0.5开始).经过几次调整(特别是授权系统),一切似乎都很好,除了一个大问题:我只能访问索引页面.当转到带有ID的页面时(例如:" http:// localhost:3000/admin/companies/2968 "),我收到此错误:

没有路由匹配{:action =>"edit",:controller =>"admin/companies",:format => nil,:id =>#{User id:nil,[所有具有nil值的用户属性]}}.缺少必需的密钥:[:id]

看起来param [:id]以某种方式变为空用户,这当然会让它破裂.

这就是我所知道的:

  • 当我将一个binding.pry放在我的ApplicationController上并检查params时,我得到{:action =>"edit",:controller =>"admin/companies",:format => nil,:id => 2968}(所以这里没问题)

  • 引发错误的行是:

active_admin /资源/ show.html.arb

- > arbre/element/builder_method.rb #insert_tag

- > arbre/element/builder_method.rb #build_tag

- > actionpack/actiondispatch/journey/formatter#generate(调用此方法时,path_parameters ID值已损坏,从而引发错误)

知道为什么我的ID参数没有正确解释/我可以进一步查看的地方吗?

编辑>>我在我的routes.rb中有这个

ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
Run Code Online (Sandbox Code Playgroud)

并且生成的路线看起来很好用rake路线(在这个特定的例子中,我有admin/companies#edit admin_company GET /admin/companies/:id(.:format)

EDIT2 >>如果不清楚,这种情况发生在所有节目页面上.如果我去http:// localhost:3000/admin/projects /例如,它工作正常,但http:// localhost:3000/admin/projects/23815给了我id =空用户以及

ruby ruby-on-rails actionpack activeadmin arbre

7
推荐指数
1
解决办法
589
查看次数