Tag: 管理员

ActionMailer Observer中的Message.body为空

我正在使用Observer来记录外发电子邮件; 它正确触发,但当我尝试提取电子邮件的正文时,我得到一个空字符串。 电子邮件肯定不是空白的,并且肯定会创建日志记录。 断点和检查message.body确认它是一个空字符串。 class MailObserver def self.delivered_email(message) for address in message.to user = User.find_by_email(address) if user UserMailerLogging.create!(user_id: user.id, email_type: message.subject, contents: message.body, sent_at: Time.now) end end end end ActionMailer::Base.register_observer(MailObserver)

ActiveAdmin – 如何在自定义操作中呈现默认模板

我们在Rails3应用程序中使用ActiveAdmin作为默认模型。 现在我们需要覆盖show动作。 OrderProcess模型是一个瞬态(无表格)模型,这意味着所有字段都是从其他数据聚合而来的。 我们使用一个内部模块,它提供了模拟ActiveAdmin依赖的MetaSearch方法的必要方法。 以下是我们如何覆盖show动作: ActiveAdmin.register OrderProcess do member_action :show, :method => :get do @order_process = OrderProcess.all_orders_for_deal(params[‘id’]) end end 这给了我们一个错误抱怨丢失模板“缺少模板admin / order_processes / show with …”的错误 我们也试着打电话 render renderer_for(:show) 但是这产生了一个关于缺少方法model_name的错误,这可能是由于我们的模型是无表格和关注模块。 我们如何使用内置渲染方法的ActiveAdmins来显示我们的模型? 任何帮助表示赞赏。

Rails 4设计强参数管理模型

我使用设计制作了用户和管理模型。 我在app / controllers / application_controller.rb文件中使用了强参数 class ApplicationController < ActionController::Base # Prevent CSRF attacks by raising an exception. # For APIs, you may want to use :null_session instead. protect_from_forgery with: :exception before_filter :configure_permitted_parameters, if: :devise_controller? protected def configure_permitted_parameters devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :remember_me) } devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:login, :password, :remember_me) } end […]

Factorygirl Admin Creation

我正在关注Michael Hartl的在线教程,在代码清单9.42中,我无法理解代码。 FactoryGirl.define do factory :user do sequence(:name) { |n| “Person #{n}” } sequence(:email) { |n| “person_#{n}@example.com”} password “foobar” password_confirmation “foobar” factory :admin do admin true end end end 然后在清单9.43中创建管理员 describe “as an admin user” do let(:admin) { FactoryGirl.create(:admin) } 我不明白的是如何创建一个没有任何代码的管理员 sequence(:name) { |n| “Person #{n}” } sequence(:email) { |n| “person_#{n}@example.com”} password “foobar” password_confirmation “foobar” […]

仅允许管理员用户使用Devise在Rails中创建新用户(无外部模块)

目前,我的Users数据库有一个名为“admin”的列,其中包含一个布尔值,默认设置为false。 我有一个管理员用户播种到数据库中。 如何编写我的应用程序,以便管理员用户可以创建新用户,但不是的用户不能? (另外,用户只能由管理员创建) 似乎应该有一个简单的方法来设计,不涉及使用一些外部模块。 但到目前为止,我还没有找到满意的答案。 我更有可能标记出只有设计的解决方案。 (其中一个只是标准的MVC / Rails解决方案加一个)然而,如果真的有更好的方法来做不涉及CanCan我也可以接受。 注意: 我一直在寻找一段时间,我发现了其他几个与此问题非常类似的stackoverflow问题,但要么没有完全回答问题,要么使用其他非设计模块。 (或两者)