标签: activeadmin

使用Rails Gem Active Admin和关联

我正在尝试新的Rails gem http://activeadmin.info/,它的工作效果很好!但是,我找不到任何关于如何跨关联使用它的文档.例如:

class Membership < ActiveRecord::Base
  belongs_to :course
  belongs_to :person

class Course < ActiveRecord::Base
  has_many :memberships
  has_many :people,  :through => :memberships

class Person < ActiveRecord::Base
  has_many :memberships
  has_many :courses, :through => :memberships
Run Code Online (Sandbox Code Playgroud)

会员加入表还包括一些额外的数据(即:出勤).我正在尝试使用课程和学生名称显示成员资格 - 并允许对这些名称进行过滤/排序.据我所知,Active Admin不能跨关联工作.有没有其他人成功做到这一点,或发现另一个宝石呢?非常感谢!

rubygems ruby-on-rails-3 activeadmin ruby-on-rails-4

8
推荐指数
1
解决办法
1万
查看次数

ActiveAdmin - 如何从partials访问实例变量?

我似乎无法访问partials中的实例对象.例:

在控制器我有:

ActiveAdmin.register Store do
  sidebar "Aliases", :only => :edit do
    @aliases = Alias.where("store_id = ?", params[:id])
    render :partial => "store_aliases"
  end
end
Run Code Online (Sandbox Code Playgroud)

然后在_store_aliases.html.erb部分我有:

<% @aliases.each do |alias| %>
  <li><%= alias.name %></li>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这不起作用.唯一可行的(因为我在视图中放置逻辑,这是可怕的):

  <% @aliases = Alias.where("store_id = ?", params[:id]) %> 
  <% @aliases.each do |alias| %>
     <li><%= alias.name %></li>
  <% end %>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 activeadmin

8
推荐指数
2
解决办法
6103
查看次数

Activeadmin和Formtastic:形式无响应:大小

我正在尝试格式化表单,文本字段响应某些方法,而不是其他方法.

我可以这样做:

f.input :name, :input_html => { :maxlength => 10 }
f.input :name, :input_html => { :disabled => true }
Run Code Online (Sandbox Code Playgroud)

但是如果我尝试执行以下任何操作,它们就不起作用:

f.input :name, :input_html => { :size => 10 }
f.input :name, :input_html => { :class => 'autogrow' }
f.input :name, :input_html => { :rows => 10, :cols => 10 }
Run Code Online (Sandbox Code Playgroud)

例如,当我尝试使用:size时,生成的html显示size = 10,但不会反映在实际形式中.

这些或多或少是从Github上的Formtastic文档中提取的,Activeadmin文档引用了该文档.

formtastic ruby-on-rails-3 activeadmin

8
推荐指数
2
解决办法
9686
查看次数

相关模型的每个实例的活动管理范围

我有动态主动管理范围的问题.我试图在我的应用程序中为"项目"的每个"经理"创建一个范围.但是,在创建(或分配给项目)新管理器时,范围似乎不会更新,但如果我重新启动服务器,它们会更新.因此代码本身"有效",但显然不是我想要的方式.我是ruby/rails noob所以我不确定我是否需要做某些事情以某种方式"刷新"范围.

作为一个FYI,我在Heroku Cedar上使用Rails 3.2和ActiveAdmin

这是有问题的代码(有效但只在服务器重启后引入新的管理器):


Manager.find_each do |m|
  scope m.first_name do |projects|
    projects.where(:manager_id => m.id)
  end
end
Run Code Online (Sandbox Code Playgroud)

以及整个Active Admin Project模型:

ActiveAdmin.register Project do
 menu :priority => 1
 index do
  column :name
  column :company_name
  column :status
  column :projection do |project|
   number_to_currency project.projection
  end
  column :updated_at
  default_actions
 end

 scope :all
 scope :working, :default => true do |projects|
  projects.where(:status => 'working')
 end

 Manager.find_each do |m|
  scope m.first_name do |projects|
    projects.where(:manager_id => m.id)
  end
 end
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails heroku activeadmin

8
推荐指数
2
解决办法
1万
查看次数

在两个活动的管理类中使用相同的模型

我正在为一个大型生产应用程序开发ActiveAdmin应用程序.我目前正在尝试为两个activeadmin"实体"使用相同的模型.

所以,说我有

class Person < ActiveRecord::Base

  scope :special, where(:is_special => true)
  scope :ordinary, where(:is_special => false)

end
Run Code Online (Sandbox Code Playgroud)

我能做点什么吗

ActiveAdmin.register Person, :name => "Special People" do

  # columns, filters for special people

  controller do
    def scoped_collection
      Person.special
    end
  end  

end

ActiveAdmin.register Person, :name => "Ordinary People" do

  # columns, filters for ordinary people

  controller do
    def scoped_collection
      Person.ordinary
    end
  end  

end
Run Code Online (Sandbox Code Playgroud)

(我在这里编写语法来解释我想要做什么.)

这两种类型的人将显示为ActiveAdmin.register块中定义的菜单项和不同的CRUD接口.他们只有相同的底层模型.

ruby-on-rails-3 activeadmin

8
推荐指数
1
解决办法
1512
查看次数

如何在Rails中将目录加载黑名单?

我想在运行测试时禁用ActiveAdmin.

所以我添加require: false到Gemfile并检查if defined?(ActiveAdmin)路由和初始化程序.

但是Rails仍然会加载模型形式,app/admin因此我得到的错误类似于/app/admin/admin_user.rb:1:in':uninitialized constant ActiveAdmin(NameError)`

app/admin目录"黑名单" 加载的最佳方法是什么?

ruby gem dependencies ruby-on-rails activeadmin

8
推荐指数
1
解决办法
973
查看次数

activeadmin中的删除按钮不起作用,并将我发送到节目

问题是我无法从我的应用程序中删除任何内容.我删除了只留下公众,布局和管理员的观点.

<a rel="nofollow" data-method="delete" data-confirm="Are you sure you want to delete this?" href="/admin/actividades/34">Delete Actividade</a>
Run Code Online (Sandbox Code Playgroud)

应用程序/管理/ ACTIVIDADES

ActiveAdmin.register Actividade do
menu :label => "Actividades", :priority => 14

form :partial => "form"
actions :index, :show, :new, :create, :update, :edit, :destroy
index :title => "Actividades" do 
    column "Id", :id
    column "Nome",  :name
    column "Grupo", :grupo
    column "Actividade", :category
    column "Nome da imagem",  :image_file_name
    column "Video",  :video
    column "Criado a",  :created_at
    column "Atualizada a",  :updated_at
    default_actions

end
Run Code Online (Sandbox Code Playgroud)

结束

jquery ruby-on-rails activeadmin

8
推荐指数
1
解决办法
1900
查看次数

Rails ActiveAdmin - 在实用程序导航中获取current_admin_user?

ActiveAdmin文档说我可以像这样覆盖实用程序导航:

ActiveAdmin.setup do |config|
  config.namespace :admin do |admin|
    admin.build_menu :utility_navigation do |menu|
      menu.add label: "ActiveAdmin.info", url: "http://www.activeadmin.info", html_options: { target: :blank }
      admin.add_logout_button_to_menu menu # can also pass priority & html_options for link_to to use
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

它还说默认显示包括当前用户的电子邮件地址.它是如何获得当前用户的电子邮件地址的?当我尝试用我替换menu.add label值时,current_admin_user会得到一个current_admin_user未定义的错误.如何从配置文件中访问有关当前登录用户的信息?ActiveAdmin在幕后如何做到这一点?

ruby-on-rails-3 activeadmin

8
推荐指数
1
解决办法
2013
查看次数

如何在模型中使用带有":through"关系的ActiveAdmin时修复Ransack未定义方法"_eq"?

我有一个Rails 4.0.1应用程序,使用gems activeadmin 1.0.0.pre和ransack 1.1.0.

使用ActiveAdmin,我有很多这样的错误:

NoMethodError in Admin::MyModel#action
Showing [...]/views/active_admin/resource/action.html.arb where line #1 raised:

undefined method `applied_boundaries_id_eq' for #<Ransack::Search:0x0..>
Extracted source (around line #1): insert_tag renderer_for(:index)
Run Code Online (Sandbox Code Playgroud)

每个未定义的方法都有一个"_eq"模式:

aws_instance_type_clients_id_eq
user_roles_id_eq
Run Code Online (Sandbox Code Playgroud)

任何的想法 ?

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

8
推荐指数
1
解决办法
5188
查看次数

Activeadmin渲染'new'给出在尝试覆盖create controller方法时找不到没有id的User

我正在尝试在activeadmin中创建一个页面,用户可以进入该页面并创建新的用户帐户.

我正在使用下面的代码覆盖我的用户模型的默认创建方法.

Couldn't find User without an ID尝试渲染new页面时收到错误.

尝试重新渲染new动作时,为什么会出现此错误?

ActiveAdmin.register User do

  permit_params do
    permitted = [:email, :encrypted_password]
    permitted << :admin if current_user.is_admin?
    permitted
  end

  # We're overriding the new and edit controller methods to properly create users with devise. Otherwise the passwords don't get encrypted
  controller do

      def create
        user = User.new
        user.name = params[:user][:name]
        user.email = params[:user][:email]
        user.admin = params[:user][:admin]
        user.password = params[:user][:encrypted_password]
        user.password_confirmation = params[:user][:encrypted_password]

        if user.save
          redirect_to admin_user_path(user)
        else
          flash.now[:error] …
Run Code Online (Sandbox Code Playgroud)

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

8
推荐指数
3
解决办法
1642
查看次数