如何在Rails引擎中获取Devise的current_user方法
我有一个使用Devise gem的Rails应用程序,我正在创建一个Rails引擎来安装在这个应用程序中。
mount Comments::Engine => '/talk', :as => 'comments'
在Engine中,我想从主应用程序中获取current_user
实例。
在{main_app} /initializers/comments.rb中
Comments.user_class = "User" Comments.current_user = "current_user" #current_user is Devise method(works fine in app)
在{engine} /lib/comments.rb中
require "comments/engine" module Comments mattr_accessor :user_class, :current_user def self.user_class @@user_class.constantize end def self.current_user send(@@current_user) end end
当我调用Comments.current_user
,我收到错误“错误的常量名称current_user”。
我究竟做错了什么?
接缝我解决了问题。 我在Comments模型中调用current_user,但它不起作用。 但是从控制器获取current_user
,工作正常。 但这不是优雅的方式(。
- 什么是rails中的`stringify_keys’以及如何在出现此错误时解决它
- 为什么在创建模型对象时会获得AssociationTypeMismatch?
- 在Ubuntu 10.04上使用graphicsmagick安装rmagick 2.13.1
- 如何为我独立的Ruby脚本设置Rails环境?
- 铁轨forms的隐藏的领域
- 如何测试ActiveRecord中哪些validation失败?
- fullcalendar-engine-rails fullcalendar-rails gem之间的区别
- Cloud9和ActionMailer / Mailgun?
- Snow Leopard和Ruby on Rails – SQLite3问题