Questions tagged «ruby»

Ruby是由松本行弘(Matz)于1995年创建的一种多平台开放源代码,动态的,面向对象的解释性语言。[ruby]标记用于与Ruby语言有关的问题,包括其语法和库。Ruby on Rails问题应标记为[ruby-on-rails]。


3
rails-查找多个数组之间的交点
我试图找到多个数组之间的交集值。 例如 code1 = [1,2,3] code2 = [2,3,4] code3 = [0,2,6] 所以结果是2 我知道在PHP中可以使用array_intersect做到这一点 我希望能够轻松地添加其他数组,所以我真的不想使用多个循环 有任何想法吗 ? 谢谢亚历克斯

14
如何使用Ruby删除回车?
我以为这段代码可以用,但是正则表达式与\ r \ n不匹配。我已经在十六进制编辑器中查看了正在读取的数据,并验证了文件中确实存在十六进制D和十六进制A模式。 我也尝试过正则表达式/ \ xD \ xA / m和/ \ x0D \ x0A / m,但它们也不匹配。 这是我现在的代码: lines2 = lines.gsub( /\r\n/m, "\n" ) if ( lines == lines2 ) print "still the same\n" else print "made the change\n" end 除了替代方法之外,很高兴知道我在做错什么(以帮助我自己进行一些学习)。:)
75 ruby  regex 


2
查找模块中可用的类
我有一个模块MyModule。我动态地将类加载到其中。如何获得在其命名空间中定义的类的列表? 例: def load_plugins Dir.glob(File.dirname(__FILE__) + '/plugins/*.rb') do |f| MyModule.class_eval File.read(f) end # now how can I find the new classes I've loaded into MyModule? end 我应该说每个都f包含类似“ Foo类;结束”的内容。 您也可以这样想:在Rails中,如何以编程方式找到ActiveRecord模块中定义的所有类?

11
Ruby gem MySQL2安装失败
当我尝试安装mysql2 gem时,它失败,没有明显的错误。有谁知道该怎么做才能解决此问题,以便安装mysql2? $ sudo gem install mysql2 Building native extensions. This could take a while... ERROR: Error installing mysql2: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb checking for rb_thread_blocking_region()... no checking for mysql_query() in -lmysqlclient... no checking for main() in -lm... yes checking for mysql_query() in -lmysqlclient... no …

3
在Rails中request.remote_ip和request.ip有什么区别?
随着标题的发展,您可以使用两种方法获取客户端的ip。我想知道是否有任何区别。谢谢。 在源代码中 “ /usr/local/rvm/gems/ruby-1.9.3-p194/gems/actionpack-3.2.3/lib/action _dispatch / http / request.rb” 257L,8741C def ip @ip ||= super end # Originating IP address, usually set by the RemoteIp middleware. def remote_ip @remote_ip ||= (@env["action_dispatch.remote_ip"] || ip).to_s end 但我真的不知道其中的含义。

2
如何在Rails应用程序中对httparty使用基本身份验证?
具有基本身份验证的'httparty'命令行版本工作简单而又出色: httparty -u username:password http://example.com/api/url 但是现在我正在寻找可以从Rails应用程序中向HTTParty.get调用添加基本身份验证的方法。首先,出于测试目的,我想在Controller中对登录凭据进行硬编码。只是为了确保它有效。但是我找不到任何文档或示例来说明如何传递它们。 没有凭据的HTTParty.get可以正常工作: @blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json") 但是我看不到如何对接受-u username:password部分的内容进行更改。 对我来说(对Ruby / Rails来说是一个非常新的东西),下一个挑战是从用户表单中获取用户凭证并动态传递它,但是对我来说最重要的是现在它使硬编码版本能够正常工作。


14
尝试从Rails控制器调用辅助方法时出现NoMethodError
NoMethodError尝试从我的一个控制器类访问在我的帮助器模块之一中定义的方法时遇到错误。我的Rails应用程序使用helper带有:all符号的class方法,如下所示: class ApplicationController < ActionController::Base helper :all . . end 我的理解是,这应该使我的所有控制器类都自动包含app / helpers目录中的所有帮助器模块,因此将所有方法混入控制器中。这个对吗? 如果我include在控制器中明确地建立了辅助模块,那么一切都会正常工作。

12
Rails:在Ruby on Rails中的模型中访问current_user
我需要在Ruby on Rails应用程序中实现细粒度的访问控制。单个用户的权限保存在数据库表中,我认为最好让各自的资源(即模型的实例)来决定是否允许某个用户对其进行读写。每次在控制器中做出这个决定肯定不会很干。 问题在于,为此,模型需要访问当前用户,才能调用。但是,模型通常无法访问会话数据。 may_read?(current_user, attribute_name) 有很多建议可以在当前线程中保存对当前用户的引用,例如在 本博客文章中。这肯定会解决问题。 不过,与Google相邻的结果建议我将对当前用户的引用保存在User类中,我想这是某人想到的,其应用程序不必一次容纳很多用户。;) 长话短说,我感觉到我希望从模型内部访问当前用户(即会话数据)是因为我做错了。 你能告诉我我错了吗?

2
有关空的belongs_to关联的最佳实践
想象一下以下情况: 我有一个dog模特和一个house模特。狗可以属于一所房子,而房子可以有许多狗,因此: Class Dog < ActiveRecord::Base belongs_to :house end Class House < ActiveRecord::Base has_many :dogs end 现在,想象一下我也想创造没有房子的狗。他们不属于房屋。我仍然可以使用该关系结构,而:house_id在创建它时不通知它吗? 有更好的做法吗? 观察:我用这个比喻简化了我的问题,但是我的真实情况是:我有一个模型,用户可以生成它的实例。他还可以创建这些实例的集合,但可以将实例保留在集合之外。

5
捆绑器在哪里存储宝石?
我知道使用时gem install,gem将存储在/home/username/.rvm/gems/下,在该gemset下安装了gem。 但是,如果我使用Bundler并在Gemfile中指定了gem,那么当我运行bundle install时,这些gem将存储在哪里?如果我已经使用来安装gem gem install,如果我运行bundle install,它将使用以前使用来安装gemgem install吗?
75 ruby  gem  rvm  bundler  gemset 

2
查找两个数组的共同点
有没有一种方法可以比较两个数组并显示它们的共同点? array1 = ["pig", "dog", "cat"] array2 = ["dog", "cat", "pig", "horse"] 我键入什么来显示["pig", "dog", "cat"]这两个数组之间的共同点?
75 ruby 

7
如何获得昨天的日期?
如何获得昨天的日期? 也许: @get_time_now = Time.now.strftime('%m/%d/%Y') / 86400 要么 @get_time_now = Time.now.strftime('%m/%d/%Y') - 1.day 要么 @get_time_now = Time.now. / 86400 86400 = 1天,对吗?(60 * 60 * 24)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.