草庐IT

users_class

全部标签

ruby - 如何理解class_eval()和instance_eval()的区别?

Foo=Class.newFoo.class_evaldodefclass_bar"class_bar"endendFoo.instance_evaldodefinstance_bar"instance_bar"endendFoo.class_bar#=>undefinedmethod‘class_bar’forFoo:ClassFoo.new.class_bar#=>"class_bar"Foo.instance_bar#=>"instance_bar"Foo.new.instance_bar#=>undefinedmethod‘instance_bar’for#仅根据方法的名称,我

ruby-on-rails - ruby rails 3 : "superclass mismatch for class ..."

平台:MacOSX10.6在我的终端中,我使用“railsc”启动Ruby控制台在按照RubyonRails3教程构建类时:classWord我收到错误信息:TypeError:superclassmismatchforclassWordfrom(irb):33from/Users/matthew/.rvm/gems/ruby-1.9.2-p180@rails3tutorial/gems/railties-3.0.5/lib/rails/commands/console.rb:44:in`start'from/Users/matthew/.rvm/gems/ruby-1.9.2-p18

ruby-on-rails - rails ActiveRecord : Find All Users Except Current User

我觉得这应该很简单,但是我的脑子短路了。如果我有一个代表当前用户的对象,并且想查询除当前用户之外的所有用户,考虑到当前用户有时可能为nil,我该怎么做?这就是我现在正在做的:defindex@users=User.all@users.deletecurrent_userend我不喜欢的是我正在对查询结果进行后处理。除了感觉有点不对之外,如果我将查询转换为使用will_paginate运行,我认为这不会很好地工作。关于如何通过查询执行此操作的任何建议?谢谢。 最佳答案 可以在Rails4及更高版本中执行以下操作:User.where.

ruby - class << self vs self.method with Ruby : what's better?

这RubyStyleGuide告诉我们最好使用self.method_name而不是classmethod_name。但是为什么?classTestClass#badclass是否存在性能问题? 最佳答案 class善于将所有类方法放在同一个block中。如果在defself.method中添加方法form则不能保证(除了惯例和一厢情愿的想法)不会有额外的类方法隐藏在文件的后面。defself.method擅长显式声明方法是类方法,而使用class你必须自己去找容器。这些中哪一个对您来说更重要是一个主观决定,并且还取决于诸如有多少其

ruby 疯狂 : Class vs Object?

我刚开始玩JRuby。这是我的第一篇ruby帖子。我很难理解Ruby中的类与对象。它并不像其他面向对象语言中的类和对象那样。举个例子Class.is_a?Object返回真和Object.is_a?Object也是。所以类和对象都是对象又来了一个Class.is_a?Class返回真和Object.is_a?Class也是。等等,我还没说完Object.instance_of?ClassClass.instance_of?Class都对Object.instance_of?ObjectClass.instance_of?Object两者都是错误的。是的,没有什么可以是对象的实例。和Cl

ruby-on-rails - rails : Access to current_user from within a model in Ruby on Rails

我需要在RubyonRails应用程序中实现细粒度访问控制。单个用户的权限保存在数据库表中,我认为最好让相应的资源(即模型的实例)决定是否允许某个用户读取或写入它。每次都在Controller中做出这个决定肯定不会很枯燥。问题是为了做到这一点,模型需要访问当前用户,调用类似may_read?(current_user,attribute_name)的东西。.不过,模型通常无法访问session数据。有很多建议可以在当前线程中保存对当前用户的引用,例如在thisblogpost.这肯定会解决问题。邻近的Google结果建议我在User类中保存对当前用户的引用,我猜这是由应用程序不必同时容

ruby - 为什么特征类不等同于 self.class,当它看起来如此相似时?

我在某处遗漏了备忘录,希望您能向我解释一下。为什么一个对象的特征类不同于self.class?classFoodefinitialize(symbol)eigenclass=class我的逻辑系列将特征类等同于class.self很简单:class是一种声明类方法而不是实例方法的方法。这是defFoo.bar的快捷方式.所以在对类对象的引用中,返回self应与self.class相同.这是因为class会设置self至Foo.class用于类方法/属性的定义。我只是糊涂了吗?或者,这是Ruby元编程的偷偷摸摸的把戏吗? 最佳答案 c

ruby - ruby 中的 Class 和 Klass 有什么区别?

类和类有什么区别? 最佳答案 class是用于定义新类的关键字。由于它是保留关键字,因此您不能将它用作变量名。您不能使用Ruby的任何关键字作为变量名,因此您不能将变量命名为def或module或if或end等-class没有什么不同。例如,考虑以下内容:defshow_methods(class)putsObject.const_get(class).methods.inspectendshow_methods"Kernel"尝试运行它会导致错误,因为您不能使用class作为变量名。test.rb:1:syntaxerror,un

ruby - class << Ruby 中的 self 习语

什么是class在Ruby中做什么? 最佳答案 首先,class语法打开foo的单例类(eigenclass)。这允许您专门化在该特定对象上调用的方法的行为。a='foo'class"bar"a='foo'#newobject,newsingletonclassa.inspect#=>"foo"现在,回答问题:class打开self的单例类,以便可以为当前self重新定义方法对象(在类或模块体内是类或模块本身)。通常,这用于定义类/模块(“静态”)方法:classStringclass"42"这也可以简写为:classStringd

javascript - 调试 AllAuth : social account not logging user in despite connecting successfully

单击登录表单中的facebook登录按钮会正确显示fb登录弹出窗口,但在输入凭据后弹出窗口关闭并且没有任何反应。在不重新加载页面的情况下再次单击按钮确认fb帐户已连接,因为浏览器控制台打印:FB.login()calledwhenuserisalreadyconnected.然而,用户数据库中没有新条目出现,用户没有被重定向,也没有登录。所以问题似乎出在AllAuth处理事情的方式上。但是在后端的任何地方都没有出现任何调试信息,这使得这有点难以弄清楚。这是allauth设置:LOGIN_REDIRECT_URL='/'LOGOUT_REDIRECT_URL='/'DEFAULT_FRO