小编fly*_*r88的帖子

ruby是否提供了显示层次结构调用的方法?

这就是全部,我想看看继承固定类的clases是什么.在RUBY中有一种方法吗?

Aptana提供了一个显示此选项的选项,但是有什么方法吗?

谢谢

ruby hierarchy class-hierarchy

15
推荐指数
2
解决办法
4158
查看次数

声明实例变量迭代哈希!

我想做以下事情:

我想声明迭代字典的类的实例变量.

我们假设我有这个哈希值

hash = {"key1" => "value1","key2" => "value2","key3" => "value3"}
Run Code Online (Sandbox Code Playgroud)

我希望将每个键作为类的实例变量.我想知道我是否可以声明迭代遍历该哈希的变量.像这样的东西:

class MyClass
  def initialize()
    hash = {"key1" => "value1","key2" => "value2","key3" => "value3"}
    hash.each do |k,v|
      @k = v
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我知道这不起作用!我只是把这段代码放在一边看看你能不能理解我想要的更清楚.

谢谢!

ruby hash iterator class instance-variables

14
推荐指数
1
解决办法
8129
查看次数

rails如何确定传入的请求格式?

我只是想知道rails如何知道请求的格式以正确输入着名的:

respond_to do |format|
  format.html
  format.xml
  format.json
end
Run Code Online (Sandbox Code Playgroud)

作为一个例子,考虑一下我面临的这种情况.假设通过javascript(使用jQuery)我发出一个POST请求,说明dataType:json

$.ajax({
      type: 'POST',
      url: 'example.com',
      data: data,
      dataType: 'json'
    });
Run Code Online (Sandbox Code Playgroud)

当这个请求到达控制器动作时,用ruby调试器站在它里面,我检查@ request.format,我可以看到内容类型是application/json.然后控制器按预期响应json格式.

但我对路线中指定的格式符号感到困惑.假设向example.com/parts.json发出请求,但在请求中,内容类型为application/html或application/xml.控制器是响应json格式还是html或xml?

谢谢!

format controller ruby-on-rails

11
推荐指数
1
解决办法
7477
查看次数

是否可以通过telnet发送LDAP"请求"?

我想知道是否可以通过telnet(或其他程序)建立与LDAP服务器的连接,并开始发出请求和接收响应,就像我通常使用HTTP一样.事实上,这个问题更通用,与我对网络连接和通信协议的误解有关.让我告诉你我对这个话题的看法:

所有应用程序协议都定义了通信协议(即服务器将理解并根据其传递进行操作的消息).如果我知道应用程序协议是如何工作的,我可以建立与服务器的连接(控制该协议服务器端的守护进程)并开始与服务器通信.例如,使用HTTP,我可以通过telnet建立与HTTP SERVER的连接,并开始与他通过此请求进行交谈,例如:

GET /users/pepito HTTP/1.1
Host: stackoverflow
Content-Type: text/html
Run Code Online (Sandbox Code Playgroud)

我希望这个程序能够在任何应用程序协议中发生.这个概念对吗?

我已经瞥见了LDAP协议规范RFC,但我不明白这些消息的格式.我的意思是,我期待阅读类似HTTP协议规范的内容; 但它太普通了.你能举个例子说明如何进行LDAP搜索吗?

ldap telnet network-protocols

11
推荐指数
1
解决办法
2万
查看次数

在Vim中为yanking选择不相交的代码块

我想知道我能否在Vim中做到这一点:

示例代码:

require 'abstract_controller/collector'
require 'active_support/core_ext/hash/reverse_merge'
require 'active_support/core_ext/array/extract_options'
require 'IDONTWANTTHISLINETOBEINCLUDEDINMYYANKREGISTER'
require 'IDONTWANTTHISLINETOBEINCLUDEDINMYYANKREGISTER'

    module ActionMailer #:nodoc:
      class Collector
        include AbstractController::Collector
        attr_reader :responses

        def initialize(context, &block)
          @context = context
          @responses = []
          @default_render = block
        end

        def any(*args, &block)
          options = args.extract_options!
          raise "You have to supply at least one format" if args.empty?
          args.each { |type| send(type, options.dup, &block) }
        end
        alias :all :any

        def custom(mime, options={})
          options.reverse_merge!(:content_type => mime.to_s)
          @context.freeze_formats([mime.to_sym])
          options[:body] = block_given? ? yield : @default_render.call
          @responses << options
        end …
Run Code Online (Sandbox Code Playgroud)

vim multi-select

5
推荐指数
1
解决办法
485
查看次数

如何在 Rails 中访问模型上的当前主机和端口?

我面临以下问题:

我正在做一个 Rails 4 webapp,我们正在使用回形针作为个人资料图像。如果用户没有上传图片,我们会提供默认图片(如 Facebook 剪影占位符)。因此,随着回形针简化处理默认图像,我们在Profile模型中执行以下操作:

class Profile < ActiveRecord::Base
  belongs_to :user
  has_attached_file :image, :styles => { :medium => "300x300", :thumb => "100x100" }, :default_url => "assets/profiles/:style/placeholder.gif"
end
Run Code Online (Sandbox Code Playgroud)

最大的问题是我需要图像的完整 URL 而不仅仅是路径,所以我很难在该路径之前获取主机和端口。使用动作视图助手没有帮助(asset_url助手)

我正在考虑为每个环境初始化一些常量或配置或环境变量。会正确吗?还有其他建议吗?

编辑:我忘了提到这一点:资源(配置文件)可能有自定义图片或默认图片。当它有自定义图像时,我们将其存储在 Amazon S3 中,在这种情况下profile.image.url返回完整 URL。在另一种情况下,当它没有自定义图片时,它存储了一个默认图像in app/assets/images,在这种情况下profile.image.url只返回路径。我希望该方法image.url始终返回完整的 URL。– flyer88 刚刚编辑

ruby host model ruby-on-rails paperclip

5
推荐指数
1
解决办法
5024
查看次数

(...)在`require'中:没有要加载的文件 - 'gemname'(LoadError)

我没有整天训练来解决这个问题,但我不能.

问题很简单,我不想再每次需要宝石时都需要'rubygems'线...

如果我在任何其他"require"之前放置require'rubygems'文件运行完美但如果我没有放置require'rubygems'行,则会发生以下错误:

(...)在`require'中:没有要加载的文件 - 'gemname'(LoadError)

我怀疑可能有一些路径留在哪里检查gems存储库.

我想问你是否有办法做到这一点.

非常感谢.

干杯,胡安.

ruby require

4
推荐指数
2
解决办法
1万
查看次数

使用Ruby中的重载方括号[]访问变量

嗨,我想做以下事情.我只是想重载[]方法以访问实例变量...我知道,它根本没有意义,但我想这样做是因为一些奇怪的原因:P

会是这样的......

class Wata

    attr_accessor :nombre, :edad

    def initialize(n,e)
        @nombre = n
        @edad   = e
    end

    def [](iv)
        self.iv
    end

end

juan = Wata.new('juan',123)

puts juan['nombre']
Run Code Online (Sandbox Code Playgroud)

但这会引发以下错误:

overload.rb:11:在`[]'中:未定义的方法'iv'表示#(NoMethodError)

我怎样才能做到这一点?

编辑

我也找到了这个解决方案:

def [](iv)
    eval("self."+iv)
end
Run Code Online (Sandbox Code Playgroud)

ruby overriding overloading operator-overloading

1
推荐指数
1
解决办法
2638
查看次数