我有一个模型,Domain它有一个文本字段,names.
> rails g model Domain names:text
invoke active_record
create db/migrate/20111117233221_create_domains.rb
create app/models/domain.rb
> rake db:migrate
== CreateDomains: migrating ==================================================
-- create_table(:domains)
-> 0.0015s
== CreateDomains: migrated (0.0066s) =========================================
Run Code Online (Sandbox Code Playgroud)
我将此字段序列化为模型中的数组.
# app/models/domain.rb
class Domain < ActiveRecord::Base
serialize :names, Array
end
Run Code Online (Sandbox Code Playgroud)
为此模型创建ActiveAdmin资源
> rails g active_admin:resource Domain
create app/admin/domains.rb
Run Code Online (Sandbox Code Playgroud)
然后,在app/admin/domains.rb中,我设置各种块来处理序列化字段
# app/admin/domains.rb
ActiveAdmin.register Domain do
index do
id_column
column :names do |domain|
"#{domain.names.join( ", " ) unless domain.names.nil?}"
end
default_actions
end
show do |domain|
attributes_table …Run Code Online (Sandbox Code Playgroud) 好吧,我有一个与on-to-many assoc相关的两个模型.
#models/outline.rb
class Outline < ActiveRecord::Base
has_many :documents
end
#models/document.rb
class Document < ActiveRecord::Base
belongs_to :outline
end
#admin/outlines.rb
ActiveAdmin.register Outline do
form do |f|
f.inputs "Details" do
f.input :name, :required => true
f.input :pages, :required => true
...
f.buttons
end
f.inputs "Document Versions" do
f.has_many :documents, :name => "Document Versions" do |d|
d.input :file, :as => :file
d.buttons do
d.commit_button :title => "Add new Document Version"
end
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
正如您在admin/outlines.rb中看到的那样,我已经尝试在has_many:documents中设置:name,在commit_button中设置:title,但这两个选项都不起作用,我也试过:legend,: title,和:label,而不是:.has_many中的名称.不工作.
这是该代码的结果: 截图
我要显示的是"文档版本"而不是"文档","添加新文档版本"而不是"添加新文档"
如果有人能有解决方案,那就太好了
我想将Gon(https://github.com/gazay/gon)添加到我的activeadmin
但我需要添加这一行
<%= include_gon %>
Run Code Online (Sandbox Code Playgroud)
到布局的头部
但我无法弄清楚如何?
您好我最近将更新推送到Heroku,突然之间Active Admin将不会预编译.给我这个错误.
Running: rake assets:precompile
rake aborted!
SyntaxError: cannot return a value from a constructor: "this" in class DropdownMenu
(in /tmp/build_etr05wkfpnxp/vendor/bundle/ruby/1.9.1/gems/activeadmin-0.5.1/app/assets/javascripts/active_admin/components/jquery.aa.dropdown-menu.js.cof
fee)
/tmp/build_etr05wkfpnxp/vendor/bundle/ruby/1.9.1/gems/execjs-
1.4.0/lib/execjs/external_runtime.rb:66:in `extract_result'
Run Code Online (Sandbox Code Playgroud)
不知道发生了什么或如何解决它.它在我的本地主机上工作得非常好,只有在我推送到heroku时才会发生.它之前在Heroku上也运行良好,我所做的只是添加一个模型.
有任何想法吗?
谢谢!
固定
我正在使用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)
它又开始工作了.
有任何想法吗?
我有两个模型之间的belongs_to和has_many assotiations.默认情况下,activeadmin使用select输入.但就我而言,这是不可能的 - 因为我有成千上万的物品.当我尝试更改过滤器时
filter :item, as: :string
Run Code Online (Sandbox Code Playgroud)
它说
undefined method `item_id_contains' for #<MetaSearch::Searches::DeliveryTime:0x007fdd57f12db8>
Run Code Online (Sandbox Code Playgroud)
做正确的最佳方法是什么?
我正在开发一个使用ActiveAdmin作为其管理后端的项目.
我有两个型号,一个具有__产品的书籍型号.当我尝试在ActiveAdmin中访问产品索引视图时,它似乎尝试将完整的书籍表加载到内存中(我的数据库中有大约150万本书).CPU使用率高达100%,内存使用率达到千兆字节.
打开mysql日志记录确认这是调用此视图时发生的情况:
17 Query SELECT `books`.* FROM `books`
Run Code Online (Sandbox Code Playgroud)
据我所知,在任何加载产品的尝试之前都会发生这种情况.
为了解决这个问题,我将模型剥离为他们的骨头:
class Product < ActiveRecord::Base
belongs_to :book
end
class Book < ActiveRecord::Base
has_many :products
end
Run Code Online (Sandbox Code Playgroud)
我还将AA定义缩减为最基本的形式:
ActiveAdmin.register Product do
end
Run Code Online (Sandbox Code Playgroud)
这对ActiveAdmin来说是正常的吗?这似乎不是理想的行为.
我使用的是主动管理导出CSV选项.它返回与特定表相关的所有值.
我希望报告仅针对特定月份.
有人可以帮忙吗?
我有以下ActiveAdmin表单:
form do |f|
f.inputs "Timesheet Details" do
f.input :jobs_assigned_worker, :label => "Worker", as: :select, collection: Worker.all
f.input :worked_time_hours, :label => "Worked Time (Hours)"
f.input :worked_time_mins, :label => "Worked Time (Minutes)"
f.input :driving_time_hours, :label => "Driving Time (Hours)"
f.input :driving_time_mins, :label => "Driving Time (Minutes)"
f.input :spent_dollars, :label => "Extra Money Spent"
end
f.actions
end
Run Code Online (Sandbox Code Playgroud)
当我在编辑视图中使用此表单时,选择下拉列表会自动默认为当前值.但是在生产中,下拉列表由于某种原因默认为顶部的空白值(为什么那里的空白值呢?).
编辑
问题似乎是ActiveAdmin不理解关联,并且默认情况下无法选择关联对象.我需要弄清楚如何f.input为关联编码.表格适用于时间表.时间表has_manyJobsAssignedWorkers和每个JobsAssignedWorker都有一个Worker.
我为ActiveAdmin rescource创建了一个集合操作,并希望从资源索引页面链接到它.
但是如何自定义资源索引页面?
手册提供了一些选项,但没有在页面上添加html /按钮(或者我看不到哪里).
activeadmin ×10
ruby ×5
formbuilder ×1
forms ×1
formtastic ×1
heroku ×1
jquery ×1
layout ×1
meta-search ×1
rubygems ×1