草庐IT

self-signed

全部标签

ruby - 为什么我不能改变 self 的值(value)?

为什么我可以这样改变“self”:self.map!{|x|x*2}或者这样:self.replace(self.map{|x|x*2})但不是这样:self=self.map{|x|x*2}为什么Ruby不允许我更改“self”变量指向的对象,但允许我更改对象的属性? 最佳答案 不是答案,只是一个线索。a=[1,2]=>[1,2]a.object_id=>2938a.map!{|x|x*2}=>[2,4]a.object_id#differentdatabutstillthesameobject=>2938a.replace(a.

ruby-on-rails - 目录 : Forgot Password & Sign In - in same page

我正在尝试将忘记密码字段与登录页面放在一起,但如果用户未注册(并且不在应用程序数据库中),则它会重定向到原始设计的忘记密码页面并出现错误(http://localhost:3000/用户/密码)。如何使错误出现在与登录页面(http://localhost:3000/users/sign_in)相同的页面中?在app/views/devise/sessions/new.html.erb文件中ForgotPasswordEntertheemailyousignedupwith所以有一个javascript链接,如果用户忘记了他们的登录凭据,输入字段将显示在该链接上。

ruby - 十六进制字符串到 Ruby 中的 signed int 转换

如何在ruby​​中将十六进制字符串转换为32位有符号整数?例如a="fb6d8cf1"#hexstring[a].pack('H*').unpack('l')#fromthedocumentationitunpackstoits32bitsignedint它转换为-242455045但实际答案是-76706575你能指出我做错了什么吗? 最佳答案 您似乎遇到了字节序问题。这给出了期望的结果:[a].pack("H*").unpack("l>")#=>[-76706575]["038a67f90"].pack("H*").unpac

ruby-on-rails - 在这部分代码中设置 klass = self 的动机是什么

我正在查看讨论中的一些代码并偶然发现了这个并且想知道为什么klass=self.据我所知,他们是比我更好的ruby​​开发人员,这一定是有充分理由的。他们为什么不调用self.remove_from_cache!(message["key"],false)?该block是否正在创建一个新范围,其中self引用MessageBus类?是否有其他示例说明您需要在Ruby中创建此类构造,或者这是主要示例?如果MessageBus.subscribe是MessageBus的一个实例(比如说m_bus.subscribe)会自己引用block中的m_bus吗?ensure_class_liste

ruby-on-rails - #<ProjectsController :0x007faead1853e0> 的未定义方法 `user_signed_in?'

我想用RubyonRails进行身份验证,每个用户都有自己的帐户。但是现在我得到了这个错误:undefinedmethoduser_signed_in?for#有人能帮帮我吗?代码如下:完整跟踪:app/controllers/projects_controller.rb:69:in`require_login'activesupport(3.2.3)lib/active_support/callbacks.rb:418:in`_run__2505248868868045404__process_action__114470166732456289__callbacks'actives

ruby - 了解 attr_accessor 类方法的 self

classTestclassTestputsTest.get_some.inspect=>Testnil在上面我可以找到self作为Test本身,但不返回some_data作为输出。但是当我按照以下方式进行修改时,它会返回预期的输出classTestclassTestputsTest.get_some.inspect=>Testsome_data有什么区别?编辑现在在第一个示例中,如果我将getsome方法设置为Test.some='new_data'putsTest.some.inspect#=>new_dataTest.set_someputsTest.get_some.inspe

ruby - 如果 `self` 始终是 Ruby 中的隐含接收者,为什么 `self.puts` 不起作用?

在Ruby中,我的理解是self是任何裸方法调用的隐含接收者。然而:~:irb>>puts"foo"foo=>nil>>self.puts"foo"NoMethodError:privatemethod`puts'calledformain:Object这是什么原因?如果有任何帮助:>>method(:puts).owner=>Kernel 最佳答案 私有(private)方法不能有接收者我认为答案是这样的:Ruby强制方法隐私的方式是它不允许使用显式接收者调用私有(private)方法。一个例子:classBakerdefbake

ruby - self.attribute 与 @attribute 的优势?

假设如下:defcreate_new_saltself.salt=self.object_id.to_s+rand.to_send为什么使用“self”更好。而不是实例变量“@salt”? 最佳答案 如果已定义,使用self.salt=将导致使用salt=方法。这对于确保使用salt=方法内的任何错误检查/转换很有用。然而,这意味着必须有一个明确的salt=方法(例如,可能由attr_accessor创建),这不一定是个好主意。总结:如果你有一个自定义的salt=方法,使用self.salt=;使用@salt=如果你确切地知道你想要

ruby-on-rails - `def self.myMethod` 和 `def myMethod` 之间有什么区别吗?

我正在同时学习ruby​​和ROR,并且在别人的代码中注意到一件事。有时我会看到以这两种明显略有不同的方式定义方法:classSomeClass这有什么区别吗?我的意思是,在方法定义中使用self会影响方法的工作方式吗?欢迎任何启发。 最佳答案 defself.method_name将定义一个类方法而不是实例方法-class关于该主题的一篇好文章是thispost来自耶胡达·卡茨例如:classFoodefmethod_1"calledfrominstance"enddefself.method_2"calledfromclass"

ruby-on-rails - self 在 ruby​​ on rails 中做什么?

我在railcasts上只是练习一些rails并且遇到了一些我试图理解的东西。我不明白authenticate方法中的“self”在做什么。所以我删除了它并测试了我的应用程序的登录以查看它是否会显示错误并且确实如此:error:**NoMethodErrorinSessionsController#createundefinedmethod`authenticate'for#如果有人能准确解释“self”在做什么,我将不胜感激。我试图弄清楚到底发生了什么,但无法理解它。方法在模型中定义并在sessions_controller中调用..我一直在不断删除我的应用程序,并从头开始以掌握它的