标签: activeadmin

如何在不使用身份验证的情况下使用rails中的设备获取当前用户!在控制器上

我正在使用rails 3设计,我正在尝试创建一个页面,每个人都可以查看(甚至那些没有注册的页面),但是为注册的人提供了额外的功能.

问题是,当我调用current_user时没有用户,因为我没有使用身份验证!在我的控制器上过滤,因为我希望未注册的用户能够查看它.

如果用户在会话中,如何在没有用户的情况下离开用户,我该如何登录?

ruby-on-rails devise activeadmin

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

ActiveAdmin注释模型无法正常工作

我精确地按照Rails入门创建了一个博客.然后我按照这里的教程尝试ActiveAdmin:http://activeadmin.info/documentation.html .

它适用于Post和Tag模型(我登录并创建/添加/编辑了东西)但不是Comment模型.

rails generate active_admin:resource Comment

create  app/admin/comments.rb
Run Code Online (Sandbox Code Playgroud)

然后,当我尝试启动服务器时,我得到了这个:

rails server=> Booting WEBrick
=> Rails 3.0.7 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server Exiting /usr/local/lib/ruby/gems/1.9.1/gems/activeadmin-0.2.2/lib/active_admin/namespace.rb:116:in
`find_or_build_resource': Tried to
register Comment as Comment but
already registered to Comment
(ActiveAdmin::ResourceMismatchError)
    from
/usr/local/lib/ruby/gems/1.9.1/gems/activeadmin-0.2.2/lib/active_admin/namespace.rb:45:in
`register'  from
/usr/local/lib/ruby/gems/1.9.1/gems/activeadmin-0.2.2/lib/active_admin.rb:141:in
`register'  from
/Users/myusername/Projects/RoR/blog/app/admin/comments.rb:1:in
`<top (required)>'  from
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:235:in
`load'  from
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:235:in
`block in load'     from
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:225:in
`block in load_dependency'  from
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:596:in
`new_constants_in'  from …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails activeadmin

18
推荐指数
2
解决办法
6589
查看次数

活动管理员 - 页面上未显示Flash消息

我试图在重定向到页面后显示通知但它没有出现.

这是重定向 -

redirect_to :action => :index, :notice => "My redirect"
Run Code Online (Sandbox Code Playgroud)

您可以在网址中看到该消息,但似乎活动管理员中没有任何代码可以显示它.

任何想法如何在活动管理员内呈现它?

ruby-on-rails ruby-on-rails-3.1 activeadmin

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

你如何更改ActiveAdmin密码?

我使用admin@example.com//password运行ActiveAdmin,但我想更改这些凭据.谁知道如何改变它们?

ruby-on-rails ruby-on-rails-3.1 activeadmin

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

ActiveAdmin错误:没有超类方法`按钮'

我从Rails开始(我也是Python的Ruby -coming的新手),我当前正试图为Rails 3.2.3(Ruby 1.9.3)设置ActiveAdmin.我正在遵循本指南,但我无法正常运行它.当我运行rails s命令访问时,localhost:3000/admin我得到了

NoMethodError in Active_admin/devise/sessions#new

Showing /home/lex/.rvm/gems/ruby-1.9.3-p125/gems/activeadmin-0.4.3/app/views/active_admin/devise/sessions/new.html.erb where line #11 raised:

super: no superclass method `buttons' for #<ActiveAdmin::FormBuilder:0xb429ae0>
Run Code Online (Sandbox Code Playgroud)

我在Google上找不到任何有用的东西,这里有什么问题?

如果您需要有关此例外的更多信息,请告诉我.

Extracted source (around line #11):

8:       f.input :password
9:       f.input :remember_me, :as => :boolean, :if =>  false  #devise_mapping.rememberable? }
10:     end
11:     f.buttons do
12:       f.commit_button "Login"
13:     end
14:   end
Run Code Online (Sandbox Code Playgroud)

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

17
推荐指数
2
解决办法
5057
查看次数

从ActiveAdmin default_actions中删除"显示"链接

我已将我的资源标题作为Show动作的链接.现在我想删除该链接表单default_actions.

actions :all, :except => [:show]
Run Code Online (Sandbox Code Playgroud)

不会这样做,因为我需要show采取行动.

我也试过了

column do |show|
  links = ''.html_safe
  links += link_to "Edit", edit_admin_show_path(show)
  links += ' '
  links += link_to "Del", admin_show_path(show), :confirm => 'Are you sure?', :method => :delete
  links
end
Run Code Online (Sandbox Code Playgroud)

但删除链接不起作用,而是带我到显示页面.

我会感谢任何帮助

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

17
推荐指数
2
解决办法
1万
查看次数

如何在Active Admin + Rails 3中添加时间选择器

我需要在我的活动管理员表单中显示时间选择器.我有一个字段start_time,类型为time.目前我有下拉菜单.

在此输入图像描述

我需要一个类似于日期选择器的选择器,如图所示

在此输入图像描述

用于添加我使用的日期选择器

f.input:start_date,:as =>:datepicker

ActiveAdmin.register PromoCode do

  form :html => { :enctype => "multipart/form-data" } do |f|  
    f.inputs "PromoCodes" do
    f.input :promo_code
    f.input :start_date, :as => :datepicker
    f.input :start_time
  end
  f.buttons
 end
Run Code Online (Sandbox Code Playgroud)

结束

是否有类似的方法来获取活动管理员中的时间选择器.请帮忙.

activeadmin ruby-on-rails-3.2

17
推荐指数
2
解决办法
1万
查看次数

在活动管理员中显示错误消息有多个关系表

我正面临一个问题,显示活动管理员中的错误消息.

我收到与表单中的字段一起显示的所有错误消息.但是在下面的代码中,我需要添加至少一项技能和最多5项技能.否则需要抛出错误消息.

我在模型中添加了一个验证:

验证:技能,:length => {:minimum => 1,:maximum => 5,:message =>"应至少为1且小于5"}

这完全验证,但不显示任何错误消息.

任何人都可以帮我显示错误消息.

以下是代码:

form :html => { :enctype => "multipart/form-data" } do |f|

    f.inputs "User", :multipart => true do

        f.input :name
        f.input :email,  :as => :email
        f.input :profile_name
        f.input :date_of_birth
        f.input :gender,  :as => :select, :collection => Gender::GENDERS
      end
      f.inputs "Skills* ( minimum 1 & maximum 5 )" do
        f.has_many :skills do |p|
          if !p.object.nil?
            # show the destroy checkbox only if it is an existing appointment
            # else, …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails activeadmin

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

如何将Devise和ActiveAdmin用于相同的用户模型?

我有ActiveAdmin和Devise与用户合作.我想使用Devise登录具有相同用户模型的常规非管理员用户.我怎样才能做到这一点?(我想admin在User模型中只为管理员设置一个标志.)我尝试将第二行添加到routes.rb

devise_for :users, ActiveAdmin::Devise.config
devise_for :users
Run Code Online (Sandbox Code Playgroud)

但是当我试图列出路线时它出错了

>rake routes
DL is deprecated, please use Fiddle
rake aborted!
ArgumentError: Invalid route name, already in use: 'new_user_session'
You may have defined two routes with the same name using the `:as` option, or you may be overriding a route already defined by a resource with the same naming. For the latter, you can restrict the routes created with `resources` as explained here:
http://guides.rubyonrails.org/routing.html#restricting-the-routes-created
Run Code Online (Sandbox Code Playgroud)

我已经创建了一个授权适配器,它只是检查user.admin == true并且对ActiveAdmin运行正常.https://github.com/activeadmin/activeadmin/blob/master/docs/13-authorization-adapter.md

ruby-on-rails devise activeadmin ruby-on-rails-4

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

使用ActiveAdmin和Friendly_id时的ActiveRecord :: ReadOnlyRecord

我最近在一个项目中开始使用ActiveAdmin,几乎所有东西都运行良好但是当我将它与friendly_id gem结合使用时遇到了问题.我正在为我的表单[我相信]抛出ActiveRecord :: ReadOnlyRecord,因为friendly_id属性的ID是只读的:

{"utf8"=>"✓",
"_method"=>"put",
"authenticity_token"=>"Rc5PmUYZt3BiLvfPQr8iCPPXlbfgjoe/n+NhCwXazNs=",
"space"=>{"name"=>"The Kosmonaut",
"address"=>"8 Sichovykh Striltsiv 24",
"email"=>"info@somedomain.com"},
"commit"=>"Update Space",
"id"=>"the-kosmonaut"}  <--- culprit
Run Code Online (Sandbox Code Playgroud)

我猜最后一行是罪魁祸首,因为它是一个只读属性,它不是我的形式,而是在PATH中

HTTP://本地主机:5000 /管理/空间/的-kosmonaut /编辑

如何通过尝试更新ID来解决此问题?

ActiveAdmin中的表单如下所示:

  form do |f|
    f.inputs "Details" do
      f.input :name
      f.input :address
      f.input :email
      f.input :phone
      f.input :website
    end
    f.inputs "Content" do
      f.input :description
      f.input :blurb
    end
    f.buttons
  end
Run Code Online (Sandbox Code Playgroud)

更新:这不起作用,所以它不是friendly_id?

我尝试使用@ watson的建议应该有效,但仍然有同样的错误;-(

{"utf8"=>"✓",
 "_method"=>"put",
 "authenticity_token"=>"Rc5PmUYZt3BiLvfPQr8iCPPXlbfgjoe/n+NhCwXazNs=",
 "space"=>{"name"=>"The Kosmonaut 23"},
 "commit"=>"Update Space",
 "id"=>"6933"}
Run Code Online (Sandbox Code Playgroud)

HTTP://本地主机:5000 /管理/空间/ 6933 /编辑

当我用record.readonly检查控制台中的记录时?它返回false

更新更新:删除scope_to可以解决问题.

scope_to :current_user, :unless => proc{ current_user.admin? }
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我需要使用scope_to来防止用户看到他们不拥有的记录.我的猜测是(因为我假设scope_to通常与has_many一起使用)我的HABTM关联会导致一些奇怪吗?用户< - HABTM …

ruby-on-rails readonly friendly-id ruby-on-rails-3 activeadmin

16
推荐指数
2
解决办法
3794
查看次数