标签: rails-admin

Rails管理员 - 删除相关对象

我正在我的一个网站上使用Rails Admin.到目前为止它很棒,但我无法弄清楚如何从编辑页面中删除相关对象.

示例:我有两个模型Property和PropertyImage.

class Property
  has_many :property_images, :dependent => :destroy
end

class PropertyImage
  belongs_to :property
end
Run Code Online (Sandbox Code Playgroud)

我可以转到任一模型的实例的编辑屏幕,我可以从列表视图中删除PropertyImages.但是当我编辑一个Property时,我希望能够删除与它关联的PropertyImage.有没有办法在rails_admin中打开此功能?

这是我能看到的.

rails_admin接口

注意:"删除图像"按钮不是我想要的 - 这只是因为有一个上传关联到图像字段.它只编辑PropertyImage.

ruby-on-rails associations rails-admin

4
推荐指数
1
解决办法
2667
查看次数

模型:未定义的局部变量或方法“current_user”

我是 Rails、Rails_Admin 和 Devise 的新手。尝试在模型中获取 current_user,我认为应该由 Devise 提供:

class Item < ActiveRecord::Base
  attr_accessible :user_id
  belongs_to :user, :inverse_of => :items

  after_initialize do
    if new_record?      
      self.user_id = current_user.id unless self.user_id
    end                                
  end  
end
Run Code Online (Sandbox Code Playgroud)

在 Rails_Admin 中我得到:

undefined local variable or method `current_user' for #<Item:0x007fc3bd9c4d60>
Run Code Online (Sandbox Code Playgroud)

与相同

self.user_id = _current_user.id unless self.user_id
Run Code Online (Sandbox Code Playgroud)

我看到 config/initializers/rails_admin.rb 中有一行,但不确定它的作用:

  config.current_user_method { current_user } # auto-generated
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails devise rails-admin

4
推荐指数
1
解决办法
8240
查看次数

CanCan - "user"参数为nil - Rails 4

我正在使用Rails 4.0.1和ruby 2.1.1.我正在尝试将cancan与rails_admin集成.我application_controller.rb看起来像这样

helper_method :current_user

private

def current_user
  @current_user ||= User.find_by(email: session[:user_id]) if session[:user_id]
end 
Run Code Online (Sandbox Code Playgroud)

我的current_user帮助方法从应用程序的其余部分正常工作.我ability.rb看起来像这样

class Ablity
  include CanCan::Ability

   def initialize(user)
     if user
       can :access, :rails_admin
     end
   end
end
Run Code Online (Sandbox Code Playgroud)

控制根本不在if条件内,这意味着"user"参数为"nil".当我尝试访问rails_admin时,我得到一个CanCan::AccessDenied异常.我哪里错了?

编辑:我没有使用设计进行身份验证

更新:我已经cancancancancan1.8版取代了.还是行不通

ruby ruby-on-rails cancan rails-admin ruby-on-rails-4

4
推荐指数
1
解决办法
544
查看次数

为什么我在 rails_admin 显示视图中看不到日期时间字段?

我正在向 rails_admin 添加一个新模型。即使没有任何配置,列表页面也能正确显示日期时间字段。但是给定对象的详细信息(显示)页面不显示日期时间。如何配置 rails_admin 以在显示页面上显示日期时间字段?

模型文件:alert_recording.rb:

class AlertRecording < ActiveRecord::Base
  attr_accessible :user_id, :admin_id, :message, :sent_at, :acknowledged_at, :created_at, :updated_at
end
Run Code Online (Sandbox Code Playgroud)

Rails_admin 初始化文件:

...
config.included_models = [
  AlertRecording
]

...

config.model AlertRecording do
  field :sent_at, :datetime
  field :acknowledged_at, :datetime
  field :message
  field :user
  field :admin
  field :created_at, :datetime
  field :updated_at, :datetime
  list do; end
  show do; end
end
Run Code Online (Sandbox Code Playgroud)

配置日期时间字段以便我在节目视图中看到它们的正确方法是什么?

datetime rails-admin

4
推荐指数
1
解决办法
2032
查看次数

布尔枚举抛出 Rails-Admin 中的错误值 Action 不能为空

我有一个有布尔字段的rails_admin表单(与rails4 ruby​​ 2.0一起使用):表示贷方或借方操作的操作。

我已在选择 Credit(true) 选项时使用的字段使用了枚举。但在保存“操作不能为空”时抛出验证错误。

我有以下代码。

field :action, :enum do
  enum do
    [['Credit', true], ['Debit', false]]
  end
end
Run Code Online (Sandbox Code Playgroud)

我还尝试通过将枚举用作方法来交换枚举的用法。

def action_enum
  [['Credit', true], ['Debit', false]]
end
Run Code Online (Sandbox Code Playgroud)

但到目前为止还没有任何效果。我尝试浏览 Rails_admin wiki 的文档: https: //github.com/sferik/rails_admin/wiki但无法解决问题。

任何人都可以建议任何解决方案或指出我缺少什么吗?

ruby enums ruby-on-rails rails-admin rails-activerecord

4
推荐指数
1
解决办法
2091
查看次数

使用CanCanCan或Pundit的字段级权限

我目前正在使用带有CanCanCan 1.13.1的Rails 4.1.14,并在模型/记录级别上定义了细化权限.管理员可以管理所有文章,但用户只能编辑他们撰写的文章.

为了防止普通用户编辑特定字段,我根据角色在rails_admin中显示字段.

visible do 
  bindings[:object].id == bindings[:view].current_user.roles.include? :admin
end
Run Code Online (Sandbox Code Playgroud)

我也使用https://github.com/aasm/aasm gem并创建自定义操作,以便用户可以将记录移动到新状态.

但我真正想要的是根据用户的角色/记录启用字段级权限.我在CanCanCan或https://github.com/elabs/pundit页面上找不到任何文档.

有人有经验吗?

devise rails-admin ruby-on-rails-4 pundit cancancan

4
推荐指数
1
解决办法
938
查看次数

Rails_admin和pundit:#RailsAdmin :: MainController的未定义方法`policy'

在此输入图像描述 我正在使用rails 5,我正在尝试使用pundit为我的rails_admin面板实现授权.所以我在我的应用程序控制器中包含了pundit并安装了rails_admin_pundit gem,你可以在我的Gemfile的这个片段中看到:

gem 'devise'
gem 'devise-i18n'
gem 'rails_admin', '~> 1.0'
gem 'rails_admin-i18n'
gem 'rails_admin_tag_list', github: 'kryzhovnik/rails_admin_tag_list'
gem 'pundit'
gem "rails_admin_pundit", :github => "sudosu/rails_admin_pundit"
Run Code Online (Sandbox Code Playgroud)

申请政策:

class ApplicationPolicy
  attr_reader :current_user, :record

  def initialize(current_user, record)
    @user = current_user
    @record = record
  end

  def index?
    false
  end

  def show?
    scope.where(:id => record.id).exists?
  end

  def create?
    false
  end

  def new?
    create?
  end

  def update?
    false
  end

  def edit?
    update?
  end

  def destroy?
    false
  end

    def rails_admin?(action)
        case action
        when :dashboard …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails rails-admin pundit

4
推荐指数
1
解决办法
1302
查看次数

从Rspec文件访问rails_admin url帮助程序

我使用的是Rails 3.2,RailsAdmin 0.0.3,Rspec和Capybara.

我尝试从我的spec文件中调用RailsAdmin url helper,如RailsAdmin wiki中所述. rails_admin.new_path(:model_name => :user)

当我从控制器或视图中使用帮助器时,它工作得很好但是当试图从spec文件中使用它时它会出现这个错误:

未定义的局部变量或方法`rails_admin'用于#RSpec :: Core :: ExampleGroup :: Nested_2:0xbe04948>

我想我必须在spec_helper.rb文件中添加一些内容才能加载rails_admin.但谷歌搜索了一段时间,并期待着rails_admin gem的spec_helper,我无法弄清楚是什么......

任何帮助都会被贬低!

capybara rspec2 rails-admin ruby-on-rails-3.2

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

如何在rails_admin的列表操作中显示图像?

我有一个自关联模型,允许用户定义"父照片",以便将它们组合在一起.

我的模特:

class Photo < ActiveRecord::Base

  attr_accessible :image, :parent_photo

  has_attached_file :image, :styles => { :medium => "300x300>", :thumb => "100x100>" }

  validates_attachment :image, 
    :presence => true,
    :size => { :in => 20..2000.kilobytes },
    :content_type => { :content_type => [ 'image/jpeg', 'image/png' ] }

  belongs_to :parent, class_name: "Photo", foreign_key: :parent_photo

  def associated_photos
    Photo.find_by_parent_photo(id)
  end

end
Run Code Online (Sandbox Code Playgroud)

在我的rails_admin初始化程序中:

..

  config.model Photo do

    list do
      field :image
      field :associated_photos     
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

如何检索实际缩略图以在列表操作中使用?

ruby-on-rails rails-admin

3
推荐指数
2
解决办法
3617
查看次数

Rails_admin不显示所有包含的模型

我有一些模型的Rails应用程序,使用rails_admin进行前端和管理.我有这些rails_admin设置:

# Config/initializers/rails_admin.rb
RailsAdmin.config do |config|
  ...
  config.included_models = %w[ User Page Event Link Slide Main Partner ]
  ...
end
Run Code Online (Sandbox Code Playgroud)

但它不起作用,它只显示事件,链接,页面.我不知道我错在哪里.

ruby-on-rails rails-admin

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