最近我开始使用 Rails Admin 为我的项目创建管理面板。Rails admin 的 UI 非常漂亮,也提供了良好的用户体验。我对自定义 Rails 管理(例如覆盖控制器操作和使用自定义视图)有一些担忧。例如,假设我需要克隆一条记录并将其用于编辑操作。是否可以?我们可以使用自定义视图或表单吗?任何帮助将不胜感激。提前致谢。
我想在 RailsAdmin 仪表板上显示一些指标,我使用自定义 sql 查询从数据库获取数据。
如何更改仪表板视图以显示该数据?
我可以自定义app/views/rails_admin/main/dashboard.html.erb app/views/rails_admin/main/dashboard.html.haml,但是我在哪里定义查询结果
@result = Metric.data
谢谢
您好,是否可以在rails_admin 中的“添加新选项卡”下添加一个选项卡?我想将不同选项卡中的一些字段分开,这样我就有一个干净的导航。但我不知道rails_admin是否允许。
我将自定义操作定义为 的子类ailsAdmin::Config::Actions::Base。在我定义的操作下custom controller-register_instance_option :controller
控制器检查并删除了某些损坏的记录,并且从我的测试来看似乎工作正常。如果这是一个普通的控制器,我会spec为此编写一个控制器controller,但我不知道如何编写specs自定义控制器rails_admin actions这样的自定义编写。
我看了一下spec,rails_admin repository但它似乎对我没有多大帮助: https://github.com/sferik/rails_admin/blob/master/spec/rails_admin/config/actions/base_spec.rb
我想做一个正常的controller spec测试,测试发布到端点,然后查看是否调用了方法an object,而链接似乎没有这样做。我似乎无法在网上找到任何有关使用Rspeccustom 的有用帖子rails_admin actions。
我正在尝试使用Sorcery安装Rails Admin Gem进行身份验证而不是Devise.
Rails管理员确实提供了一个钩子,您可以使用它来附加您自己的身份验证方法.以下是他们在文档中提供的示例(使用warden):
config.authenticate_with do
warden.authenticate! :scope => :admin
end
config.current_user_method { current_admin }
Run Code Online (Sandbox Code Playgroud)
我猜测在块中我需要引用before_filterSorcery用来验证用户的身份require_login.
但是,当我尝试这个并且我/admin在登出时尝试访问时,我收到路由错误:
No route matches {:action=>"new", :controller=>"sessions"}
Run Code Online (Sandbox Code Playgroud)
这可能是因为我在引擎内而不是在主应用程序中重定向.
如何正确设置?
我有两个这样的模型:
class Kid < ActiveRecord::Base
belongs_to :sex
attr_accessible :name
end
class Sex < ActiveRecord::Base
attr_accessible :description
has_many :kids
end
Run Code Online (Sandbox Code Playgroud)
但是对于我的生活,我无法弄清楚如何让关联显示在管理员中.当我去编辑一个孩子时,我看到了一个性别标签,但没有任何下拉列表,也没有提示RailsAdmin看到该关联.它只显示标签名称,空格和下面的"可选"一词.
我一遍又一遍地搜索dox,但我找不到解决方案.我是一个菜鸟,所以我可能正好看它,应该受到嘲笑.
我没有修改任何其他管理代码.
我按照说明安装了Rails_Admin,也使用了Devise.当我尝试导航到"/ admin"时,我收到以下错误:
Routing Error
No route matches {:controller=>"home"}
Run Code Online (Sandbox Code Playgroud)
这是我的routes.rb:
Ot::Application.routes.draw do
resources :badgeships
resources :badges
resources :profiles
resources :universities
resources :degrees
resources :jobs
resources :resources
resources :communities
resources :networks
resources :topics do
resources :posts
end
get 'topics/tag/:tag', to: 'topics#index', as: :topic_tag
get 'resources/tag/:tag', to: 'resources#index', as: :resource_tag
root :to => 'home#index'
devise_for :users, path_names: {sign_in: "login", sign_out: "logout"}
mount RailsAdmin::Engine => '/admin', :as => 'rails_admin'
end
Run Code Online (Sandbox Code Playgroud)
这是我的rails_admin.rb初始化程序:
RailsAdmin.config do |config|
config.main_app_name = ["Cool app", "BackOffice"]
# or somethig more dynamic …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个系统,我的网站的用户可以在其中收藏页面.这些页面有两种类型,俱乐部或体育.所以,我有四个模型,相关联:
用户模型:
class User < ActiveRecord::Base
..
has_many :favorites
has_many :sports, :through => :favorites
has_many :clubs, :through => :favorites
..
end
Run Code Online (Sandbox Code Playgroud)
收藏夹型号:
class Favorite < ActiveRecord::Base
..
belongs_to :user
belongs_to :favoritable, :polymorphic => true
end
Run Code Online (Sandbox Code Playgroud)
俱乐部型号:
class Club < ActiveRecord::Base
..
has_many :favorites, :as => :favoritable
has_many :users, :through => :favorites
def to_param
slug
end
end
Run Code Online (Sandbox Code Playgroud)
运动模特:
class Sport < ActiveRecord::Base
..
def to_param
slug
end
..
has_many :favorites, :as => :favoritable
has_many :users, :through => :favorites
..
end
Run Code Online (Sandbox Code Playgroud)
从本质上讲,用户可以通过收藏夹进行体育或俱乐部,而收藏,体育和俱乐部之间的关联是多态的. …
model ruby-on-rails polymorphic-associations model-associations rails-admin
尝试在RailsAdmin中创建,查看或编辑记录时,hstore列不会显示.我假设RailsAdmin不支持这种Postgres数据类型,尽管它在Rails 4中本身支持.
有解决方法吗?
我安装了Rails_admin与设计,我想将/ admin仪表板限制为仅限管理员.目前我的代码看起来像:
config.authenticate_with do
warden.authenticate! scope: :user
end
config.current_user_method(&:current_user)
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,用户可以进入仪表板,因此我只希望用户表的admin列中具有布尔值true的用户可以访问仪表板.
你怎么建议我这样做?