我有一个rails 3.0.10项目我正在使用rails_admin gem构建一些基本的管理功能.对于在rails_admin中管理的其中一个模型,我希望能够基于current_user设置用户关联.我认为这应该是一个相当普遍的要求,所以我确信我错过了一些明显的东西.
我确实发现了一个似乎可以解决这个问题的帖子,但它对我不起作用.所以我希望那里的其他人可能有另一个建议.
这是我能够找到的对话:http://groups.google.com/group/rails_admin/browse_thread/thread/ce0e22aeec1f72b7
我正在尝试Rails_Admin.对于一组文章,我正在使用祖先.因此,我想在新的和编辑页面中创建一个下拉列表,使我能够选择正确的父文章.
我当前的配置:
config.model Article do
# # Found associations:
# Found columns:
field :id, :integer
field :title, :string
field :description, :text
field :content, :text do
ckeditor true
end
#field :created_at, :datetime
#field :updated_at, :datetime
field :ancestry, :enum do
@articles = Article.scoped
@articles.arrange(:order => :created_at)
end
# Sections:
list do; end
export do; end
show do; end
edit do; end
create do; end
update do; end
end
Run Code Online (Sandbox Code Playgroud)
所以,非常标准,除了:enum字段.我一定是在做错事.有任何想法吗?
我已经看过如何在Rails 3的下拉列表中安排来自Ancestry树的条目?但除非我误解了他们正在做的一些问题.我想使用Arrange功能.
我正在寻找使用rails_admin进行多文件上传的快速解决方案.
有什么想法或解决方案吗?
paperclip carrierwave rails-admin ruby-on-rails-3.1 dragonfly-gem
我正在寻找一种使用Rails Admin在一个模型上拥有多个附件的简单方法.我已经将Paperclip工作了,但我需要多个图像,而不仅仅是一个.
任何提示/想法/链接?
非常感谢你!
奥勒
attachment-fu ruby-on-rails paperclip carrierwave rails-admin
当rails_admin用于关联对象(如has_and_belongs_to)时,它会将对象的ID显示为关联.这对用户来说并不是很重要,所以我想更改它以显示相关对象的文本.
这可以解决吗?
这里有一个小例子:
第一种模式:
class Menu
include Mongoid::Document
field :date, type: Date
has_and_belongs_to_many :meal
end
Run Code Online (Sandbox Code Playgroud)
第二种模式:
class Meal
include Mongoid::Document
field :text, type: String
has_and_belongs_to_many :menu
end
Run Code Online (Sandbox Code Playgroud)
所以它显示了这样的事情:
但我很乐意看到饭菜的文字.
为了使模型属性只在rails_admin面板中读取,您必须执行以下操作:
config.model Style do
field :review_count do
read_only true
end
end
Run Code Online (Sandbox Code Playgroud)
这样做的问题现在是Style没有显示其他字段.我不想手动浏览每个模型添加这个DSL的字段.有没有办法在默认情况下将所有字段包含为可编辑,同时使一个或两个只读?
我已阅读rails admin文档,但我找不到如何在rails admin中配置顶级菜单.
我想将注销添加到管理面板的顶层菜单中
例如/
仪表板 - 主页 - 注销
我有两个模型,它们通过has_and_belongs_to_many
关系相互关联。
class Band < ActiveRecord::Base
has_and_belongs_to_many :stages, association_foreign_key: :stage_number
end
class Stage < ActiveRecord::Base
has_and_belongs_to_many :bands
end
Run Code Online (Sandbox Code Playgroud)
假设两个表都有一个 id 字段,并且那个阶段有一个stage_name
字段。
它们通过名为 的表相互关联bands_stages
,其架构类似于以下内容:
create_table :bands_stages, id: false do |t|
t.integer :band_id
t.integer :stage_number
end
Run Code Online (Sandbox Code Playgroud)
我的目的是使用 Rails Admin 来允许我们修改 上的某些字段Stage
,但每次运行时,我都会收到一个 SQL 错误:
列
stages.id
不存在
似乎 Rails Admin 默认选择了错误的列来加入。我如何通知 Rails 管理员我希望它加入我的联接表中实际存在的列?
请注意,我实际上无法使用stages
表中的 ID 。目的是在任何给定时间只存在十个阶段,由阶段编号表示,但每个乐队都可以访问每个阶段。由于 ID 会自动递增,因此利用更具体的:stage_number
字段的意图似乎更安全、更明确。
我正在尝试打开我的 MongoDB 模型,但是出现以下错误:
MONGODB | xxx.xx.x.xxx:27017 | db.find | FAILED | wrong number of arguments (given 2, expected 1) | 0.013306s
我的 Mongo 凭据是正确的,并且我可以连接到 Rails 外部的数据库集合。
错误的前几行是:
Started GET "/admin/xsl_sheet" for xxx.xxx.xxx.xxx at 2020-03-03 13:49:54 UTC
Processing by RailsAdmin::MainController#index as HTML
Parameters: {"model_name"=>"xsl_sheet"}
(5.0ms) SELECT `companies`.`name` FROM `companies` WHERE `companies`.`id` = 4
CACHE (0.1ms) SELECT `companies`.`name` FROM `companies` WHERE `companies`.`id` = 4 [["id", "4"]]
CACHE (0.2ms) SELECT `companies`.`name` FROM `companies` WHERE `companies`.`id` = 4 [["id", "4"]]
MONGODB | xxx.xx.x.xxx:27017 | …
Run Code Online (Sandbox Code Playgroud) 我已经为我的rails_admin集成了CKEditor。在edit
页面中我添加了 CKEditor 并编写了文本。
在我的模型显示页面中,它向我显示如下:
我的代码show
:
show do
include_all_fields
end
Run Code Online (Sandbox Code Playgroud)
我需要添加什么来显示我在 CKEditor 上编写的文本,能够在rails_admin 中显示?
====更新====
我已经config.assets.precompile += %w( ckeditor/* )
在我的production.rb and development.rb
. 然后我运行了 rake asset 预编译任务并重新启动了我的服务器。在我上面的图片中它仍然显示相同的内容。
即使可以以 html 格式显示文本,也会产生新的问题。正如您在图片中看到的,有一个img
标签,它src
显示的不是我上传的图片的完整目录。如果我需要将此格式化文本作为 JSON 发送到我的手机?
====更新====
我已经打开浏览器的代码检查器来查看description
页面的一部分。它向我展示了这个:
我的html代码是用CKEditor创建的,写得很好,但是我的浏览器不认为它是html代码并且有引号。这些引号是否会影响我的浏览器将其显示为纯文本?
我的模型功能:
def admin_user
users.where('roles @> ARRAY[?]::varchar[]', ['admin']).first
end
Run Code Online (Sandbox Code Playgroud)
我的管理员配置:
config.model 'Team' do
list do
field :admin_user
end
end
Run Code Online (Sandbox Code Playgroud)
它显示如下:
我怎样才能让它链接到用户管理视图?
rails-admin ×12
ruby ×5
carrierwave ×2
mongoid ×2
paperclip ×2
ckeditor ×1
dropdown ×1
field ×1
mongodb ×1