标签: activeadmin

ActiveAdmin:按子协会的属性排序

我有这些对象:

class District < ActiveRecord::Base
  belongs_to :city
end
class City < ActiveRecord::Base
  has_many :districts
end
Run Code Online (Sandbox Code Playgroud)

我想做的(迄今为止无法做到)是:CityDistrict索引中有一列,该列应该是可排序的City.name.

在没有崩溃ActiveAdmin的情况下我能做的最近的事情是:

index do
  column City.human_name(:count => :other), :city, :sortable => :city_id
end
Run Code Online (Sandbox Code Playgroud)

这当然不够好; 我不想对外键的整数值进行排序.

尝试过的东西:sortable => 'city.name',给出了一个错误.甚至试图像你在"纯粹的"Rails上那样做 - :joins => :cities, :sortable => 'city.name'- 没有运气.尝试了一堆其他愚蠢的东西,生气了,决定谦卑地寻求帮助.

谁能指出我正确的方向?谢谢你的时间.

ruby-on-rails-3 activeadmin

12
推荐指数
3
解决办法
7753
查看次数

如何在Rails中覆盖ActiveAdmin中的default_scope

在使用ActiveAdmin注册的资源中,我为模型定义了以下default_scope:

default_scope :order => 'activities.updated_at DESC'
Run Code Online (Sandbox Code Playgroud)

这显然阻止我通过单击列标题来更改资源索引页面上的排序.有没有办法保持这个默认范围,但让Active Admin排序工作?

ruby-on-rails default-scope activeadmin

12
推荐指数
3
解决办法
8816
查看次数

Active Admin自定义操作项资源名称

不知道为什么我似乎无法解决这个问题,因为它似乎应该如此简单,但基本上,我正在尝试创建一个动作的链接(我希望"发布"出现在show旁边,编辑,删除)为Active Admin中的每个资源.

我在他们的维基上使用了他们建议的代码:

 action_item do
    link_to "button label", action_path(post)
 end
Run Code Online (Sandbox Code Playgroud)

问题是,我收到错误,因为rails不知道"post"是什么.这是零.Github上的Wiki版本具有相同的代码,除了它们使用"资源"而不是帖子.我不确定他们是否暗示我会在那里使用我自己的资源名称,或者你是否应该实际使用变量"resource".我尝试了后一种情况并得到了"找不到ID"错误.

所以问题是,我在哪里设置变量名称?他们使用什么作为迭代器?

resources ruby-on-rails activeadmin

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

使用回形针主动管理多个文件/图像上传

我使用Active admin,我需要上传带有大量图片的画廊.我该怎么做?我的代码:

class Gallery < ActiveRecord::Base
  belongs_to :event
  has_many :images

  attr_accessible :name, :publish, :images, :image, :images_attributes
  accepts_nested_attributes_for :images, allow_destroy: true

  validates :name, presence: true

end

class Image < ActiveRecord::Base
  belongs_to :gallery

  attr_accessible :url
  has_attached_file :url, :styles => { :medium => "300x300>", :thumb => "100x100>" }
end


ActiveAdmin.register Gallery do
    form html: { multipart: true }  do |f|
          f.inputs  do
            f.input :name
            f.input :images, as: :file, input_html: { multiple: true}
          end            
          f.buttons
    end  
end
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

Image(#70319146544460) expected, got ActionDispatch::Http::UploadedFile(#70319105893880)
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails paperclip formtastic activeadmin

12
推荐指数
1
解决办法
7320
查看次数

Rails:activeadmin,未定义的方法`per'for#<ActiveRecord :: Relation:0x4d15ee0>

我成功安装了ActiveAdmin:

我的gemfile代码:

来源' https://rubygems.org '

 gem 'rails', '3.2.10'

 # Bundle edge Rails instead:
 # gem 'rails', :git => 'git://github.com/rails/rails.git'

 gem 'sqlite3'


 # Gems used only for assets and not required
 # in production environments by default.
 group :assets do
   gem 'sass-rails',   '~> 3.2.3'
   gem 'coffee-rails', '~> 3.2.1'

   # See https://github.com/sstephenson/execjs#readme for more supported runtimes
   # gem 'therubyracer', :platforms => :ruby

   gem 'uglifier', '>= 1.0.3'
 end

 gem 'jquery-rails'

 gem 'twitter-bootstrap-rails'

 gem 'activeadmin'

  # gem "meta_search",    '>= 1.1.0.pre'
 gem "spud_photos"
 gem 'devise' …
Run Code Online (Sandbox Code Playgroud)

activeadmin

12
推荐指数
4
解决办法
6877
查看次数

ActiveAdmin和Rails 4的多个HABTM属性:未保存数据

我有以下型号:

class Programme < ActiveRecord::Base

  has_and_belongs_to_many :nationalities, class_name: 'Nation', join_table: 'nationalities_nations'
  has_and_belongs_to_many :destinations, class_name: 'Nation', join_table: 'destinations_nations'

  accepts_nested_attributes_for :nationalities
  accepts_nested_attributes_for :destinations

end
Run Code Online (Sandbox Code Playgroud)

class Nation < ActiveRecord::Base

  has_and_belongs_to_many :nationality_programmes, class_name: 'Programme', join_table: 'nationalities_nations'
  has_and_belongs_to_many :destination_programmes, class_name: 'Programme', join_table: 'destinations_nations'

  accepts_nested_attributes_for :nationality_programmes
  accepts_nested_attributes_for :destination_programmes

end
Run Code Online (Sandbox Code Playgroud)

在活动管理员中,我有以下配置,可以正确地预选任何现有的存储国家/地区参考(请参见屏幕截图).

ActiveAdmin.register Programme do

  permit_params :title,
            destinations_ids: [:id],
            nationalities_ids: [:id]


  form do |f|
    f.actions
    f.inputs 'Countries / Regions' do
      f.input :nationalities, :as => :select, :input_html => {:multiple => true}
      f.input :destinations, :as => :select, :input_html => …
Run Code Online (Sandbox Code Playgroud)

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

12
推荐指数
1
解决办法
4497
查看次数

将页面添加到活动管理员

我们想要向我们的管理员添加帮助页面,我们正在使用活动的admin gem.此页面与任何模型都没有关联,因此我正在努力弄清楚如何让链接显示在每个页面的菜单栏中.

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

11
推荐指数
2
解决办法
6906
查看次数

Rails 3.有条件地使用Formtastic显示字段

我正在使用ActiveAdmin和Formtastic.

我有一张发票表单,上面有一个下载菜单.

form do |f|
  f.inputs "Shipment Details" do      
  f.input :shipment_id, :label => "Shipment", :as => :select, :collection => Shipment.find(invoiceless_shipments, :order => "file_number", :select => "id, file_number").map{|v| [v.file_number, v.id] }
  f.input :issued_at, :label => "Date", :as => :datepicker
  ... more fields ...
end
Run Code Online (Sandbox Code Playgroud)

如果表单是新发票表单,我只想显示货件的选择菜单.

如果表单是编辑表单,我不想显示发货下拉选择菜单.因此,如果表单是编辑表单,则不会更改.

我在考虑做类似的事情

if params[:action] != 'edit'
  f.input :shipment_id, :label => "Shipment", :as => :select...
end
Run Code Online (Sandbox Code Playgroud)

但我收到DSL错误.

ruby ruby-on-rails formtastic activeadmin

11
推荐指数
1
解决办法
3785
查看次数

有没有办法从Coveralls测试覆盖率评分中豁免文件/文件夹?

我的团队在CI流程中使用coveralls.io为我们提供了一个rspec覆盖率分数.我们还将ActiveAdmin gem用于内部使用,并且决定不在我们的测试覆盖范围内涵盖ActiveAdmin功能.有谁知道我们如何从工作服中免除/ app/admin文件夹,以便它不会拖累我们的分数?

continuous-integration ruby-on-rails rspec-rails activeadmin

11
推荐指数
1
解决办法
3980
查看次数

使用ransacker进行自定义搜索

我正在尝试向ActiveAdmin添加自定义过滤器,这些过滤器最近由Ransack提供支持.不幸的是,ransacker根本没有记录,从网上的少数资源我弄乱了以下(在用户模型中):

ransacker :full_text, formatter: ->(search) {
  ids = User.search_in_all_translated(search).map(&:id)
  ids = ids.any? ? ids : nil
} do |parent|
  parent.table[:id]
end
Run Code Online (Sandbox Code Playgroud)

search_in_all_translated方法返回一个用户数组,该数组与所有已翻译属性中的搜索字符串匹配.

在管理页面上,定义了以下过滤器:

filter :full_text_in,
  label: 'full text search',
  as: :string
Run Code Online (Sandbox Code Playgroud)

过滤器本身有效,因此过滤tom将列出所有匹配的记录.但是,滤波器输入中的值切换为["tom"].

在应用过滤器之前:

在此输入图像描述

应用过滤器后:

在此输入图像描述

任何想法如何解决这一问题?

ruby-on-rails activeadmin ransack

11
推荐指数
1
解决办法
7349
查看次数