草庐IT

sign_and_send_pubkey

全部标签

ruby - 将 block 添加到 Object.send 是否将其传递给被调用的方法?

我刚刚完成了RubyKoans,关于使用Object.send调用方法的单元和关于该方法的Ruby文档都没有提供任何关于将block与send方法一起使用的信息。附加到send方法的block是否会传递给它调用的方法,或者block会丢失吗?例子:foo.send(:a_method){bar.another_method} 最佳答案 documentation对此有点不清楚:send(symbol[,args...])→objInvokesthemethodidentifiedbysymbol,passingitanyargume

ruby-on-rails - rails : Plus sign in GET-Request replaced by space

在Rails3(Ruby1.9.2)中我发送一个请求StartedGET"/controller/action?path=/41_+"但是参数列表是这样的:{"path"=>"/41_","controller"=>"controller","action"=>"action"}这里出了什么问题?-、*或.符号工作正常,只是+将被空格替换。 最佳答案 这是正常的URL编码,theplussignisashorthandforaspace:Withinthequerystring,theplussignisreservedasshor

ruby - Ruby 的 send 和 public_send 方法有什么区别?

我很好奇send和public_send有什么区别。例如:classKlassdefhello(*args)"Hello"+args.join('')endendk=Klass.newk.send:hello,"gentle","readers"#=>"Hellogentlereaders"k.public_send:hello,"gentle","readers"#=>"Hellogentlereaders" 最佳答案 Unlikesend,public_sendcallspublicmethodsonly.Source例子:cl

ruby-on-rails - 如何为 has_and_belongs_to_many 关系设置我的灯具?

我有以下模型:classCompany每当我收到新请求时,我想向同一地区的活跃公司发送通知。我如何在我的固定装置中设置它,以便我可以对寻找合适公司的逻辑进行单元测试?我试过了region_ids:1,2regions:one,two在companies.yml中,但都不能为公司分配区域。这里是生成的SQL的要点:https://gist.github.com/2713518 最佳答案 为了regions:one,two要在companies.yml中工作,您需要让Rails自动分配区域的ID。这是因为(为了避免必须在companie

ruby-on-rails - Elasticsearch 和轮胎 : Using Mapping and to_indexed_json

在阅读Tire时文档,我的印象是您应该使用mapping或to_indexed_json方法,因为(我的理解是..)使用了mapping提供to_indexed_json。问题是,我发现一些教程同时使用了这两种方法。为什么?基本上,我的应用程序现在可以使用to_indexed_json但我无法弄清楚如何设置某些属性的提升值(因此我开始查看映射的原因)并且我想知道同时使用两者是否会造成一些冲突。 最佳答案 虽然mapping和to_indexed_json方法是相关的,但实际上它们有两个不同的目的。mapping方法的目的是为索引中的

ruby-on-rails - Ruby on Rails - 设计用户/sign_out 不工作

我正在使用设计sign_in和sign_up网址有效但是,当我尝试url时:http://localhost:3000/users/sign_out它产生路由错误Noroutematches[GET]"/users/sign_out"我该如何解决这个问题?rake路rakeroutesnew_user_sessionGET/users/sign_in(.:format){:action=>"new",:controller=>"devise/sessions"}user_sessionPOST/users/sign_in(.:format){:action=>"create",:con

ruby-on-rails - Rails 4 迁移 : has_and_belongs_to_many table name

我目前正在尝试将Rails3.2应用程序切换到Rails4.0。但是我对has_and_belongs_many模型有一个问题。我创建了一个测试应用程序,但我遇到了同样的问题。这就是我所做的:创建了两个模型:foo_clip和foo_urlclassFooClip在此之后我更新了迁移文件:classCreateFooClips现在我已经为has_and_belongs_to_many表创建了迁移文件classCreateFooClipsFooUrls作为最后一步,我创建了一个用于测试的种子文件:foourl1=FooUrl.create!(:url=>'http://www.googl

ruby-on-rails - rails ActiveSupport :Concern and Private Methods

这是关于rails中关注的好主意:http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns制作不属于公共(public)API的非常小的方法也是一个好主意。如果不使用关注点,这些将成为ruby​​类中的私有(private)方法。在RailsActiveSupport::Concern模块中创建私有(private)方法是否有意义?如果是这样,private是否对关注点定义中的常规实例方法和类方法都有效? 最佳答案 Doesitmake

ruby - Rails has_and_belongs_to_many & has_many :through scaffolding

有没有办法为具有has_and_belongs_to_many或has_many:through关系的Rails模型生成脚手架?如果没有,是否存在未包含此功能的某些基本形式的开发原因?Rails要求开发人员生成和编辑一个“自定义”“连接表迁移”。对细节的必要关注是一种提醒Rails开发人员一些重要事实的方式,还是这仅仅是Rails如何“进行中的工作”的一个例子?Stackoverflow快速搜索:"has_and_belongs_to_many"yields821questions"has_many:through"yields933questions...其中许多都以“我如何...”

ruby-on-rails - 附加到 rake db :seed in rails and running it without duplicating data

Rakedb:seed使用应用程序的默认数据库值填充您的数据库,对吗?那么如果您已经有一个种子并且需要添加到它(您添加一个需要种子的新功能)怎么办?根据我的经验,当我再次运行rakedb:seed时,它已经添加了现有内容,因此现有内容变成了两倍。我需要的是添加一些种子,当运行时,它应该只添加最新的种子,而忽略现有的种子。我该怎么做?(我通常采用的肮脏的、菜鸟的方式是截断我的整个数据库然后再次运行种子,但这在生产中不是很聪明,对吧?) 最佳答案 更简洁的方法是使用find_or_create_by,如下所示:User.find_or_