使用电池和设计,试图访问一个设计的时候:当前_#{}映射(如CURRENT_USER)我收到请求作为未定义的错误:Rails的细胞与设计和访问请求和会话
::的ActionView模板::错误(未定义的局部变量或方法`请求'为#)
我已经包含Devise Helpers方法,但它们访问Cell :: Base中不存在的Web上下文请求。我的手机控制器看起来是这样的:
class ActivityCell < Cell::Base
include Devise::Controllers::Helpers
helper_method :current_user
def display
puts current_user.id # <-- Error starts here
...
end
end
我使用的RubyMine,当我调试的情况,非正常细胞内控制,自我有请求。在Cells :: Base Controller中,请求不在。
我发现这个代码片段here应该显示如何从单元控制器访问请求和其他重要的位,但它有点不清楚如何简单地让设计在单元控制器中按预期工作。例如Cells :: Base提出请求和其他任何设计需求
我认为我的Cells版本可能有问题,但我使用的是3.8.3。 (最新)我认为这是因为我也没有“会议”可用here项目#4“控制器应该是苗条的”。我无法从Cell :: Base Controller访问会话。我不知道这是否仅适用于Ruby 2.x,而现在只适用于3.x,这是不可能的。 (文章没有提到版本,但我看到评论2010年底发布)
class CartCell < Cell::Base
def display
@user = session[:user]
render
end
除了这个问题,我超级挖细胞。我将它用于独立的小部件,它使用jQuery AJAX从它们中抽出JSON用于绘图目的。
任何帮助,将不胜感激。我需要了解当前登录的Devise用户的详细信息!
是的。切换到单元:: Rails修复了设计需求:会话。我会给你答案,但请注意,如果你想在routes.rb中使用Cell :: Base.render_cell_for,你会得到参数错误,这是我的错,但我没有提出它这个问题,所以我不会拖延这一点。 https://github.com/apotonick/cells/issues/106 – garlicman 2012-04-18 23:37:24