草庐IT

the-game-name

全部标签

ruby-on-rails - Rails 安装错误 :The 'atomic' native gem requires installed build tools

这个问题在这里已经有了答案:The'json'nativegemrequiresinstalledbuildtools(8个答案)关闭7年前。我正在我的Windows上安装Rails3。我安装了最新的ruby​​2.0.0,并更新了gems。但是当我使用geminstallrails安装rails时,出现了成功的消息,但最后我找到了ERROR:Errorinstallingrails:The'atomic'nativegemrequiresinstalledbuildtoolsPleaseupdateyourPATHtoincludebuildtoolsordownloadtheDev

ruby /Rspec : Possible to compare the content of two objects?

我在ruby​​中创建了2个不同的对象,它们具有完全相同的属性和值。现在我想比较两个对象的内容是相同的,但进行以下比较:actual.should==expectedactual.shouldeq(expected)actual.should(beexpected)失败:Diff:@@-1,4+1,4@@-#在rspec/ruby中有什么方法可以轻松实现这一点吗?干杯! 最佳答案 执行此操作的惯用方法是覆盖#==运算符:classStationdef==(o)primary_key==o.primary_keyenddefhashp

ruby-on-rails - rails : dynamically define class method based on parent class name within module/concern

我想根据包含此Mixin的类名在Mixin中动态生成一个类方法。这是我当前的代码:moduleMyModuleextendActiveSupport::Concern#defsome_methods#...#endmoduleClassMethods#HereiswhereI'mstuck...define_method"#{self.name.downcase}_status"do#dosomething...endendendclassMyClass但这给了我以下方法名称:MyClass.mymodule::classmethods_status在方法定义中获取基类名称是可行的(s

ruby-on-rails - 知道@vendor.name 后如何使 Ruby on Rails 中的 URL 对 SEO 友好?

我的应用程序在RoR中我有一个名为showsummary的操作/View,其中ID已传递到URL,并且Controller使用它来实例化@vendor,其中@vendor.name是公司的名称。我希望URL是showsummary/1/而不是在URL中包含/vendor-name。我该怎么做? 最佳答案 所有这些解决方案都使用find_by_name,这肯定需要在该列上有一个索引并且要求它们是唯一的。我们使用的一个更好的解决方案是在供应商名称前加上其ID,但牺牲了一点美观。这意味着您不必在名称列上有索引和/或要求唯一性。供应商.rb

ruby-on-rails - rails 上的 ruby : Yielding specific views in a specific places in the layout

如果我有一个标记然后我的所有View都呈现在布局中的同一位置。我可以有不同的不同观点的标签?那么我该怎么做呢?谢谢 最佳答案 查看ActionView::Helpers::CaptureHelper.你可以在你的View中做这样的事情:这将在content_forblock中运行模板,但不会作为常规模板的一部分输出yield缓冲区,它将存储在一个单独的缓冲区中以备后用。然后稍后,包括在布局中,您可以使用yield:content_name输出内容:所以在某种意义上你可以有不同的yield对于不同的View,你只需要给不同的内容一个名

ruby-on-rails - rails 2 : test 'link_to' and other view helpers from the rails console?

在Rails2中,我经常使用控制台,并且想知道使用它测试View助手(例如“link_to”或“url_for”)的最佳方法是什么。执行此操作的最佳方法是什么? 最佳答案 您可以将您的includeActionView::Helpers::UrlHelper添加到~/.irbrc以在您启动控制台时自动加载它。 关于ruby-on-rails-rails2:test'link_to'andotherviewhelpersfromtherailsconsole?,我们在StackOverfl

ruby - 是 &method( :method_name) idiom bad for performance in Ruby?

我最近遇到了&method(:method_name)语法。(这使用Object#method方法-RDoclink)例如,[5,7,8,1].each(&method(:puts))相当于[5,7,8,1].each{|number|putsnumber}在Ruby的各种实现中,与前者相比,后者是否存在性能损失?如果是,实现者是否正在努力提高其性能? 最佳答案 是的,这似乎对性能不利。deftimestart=Time.nowyield"%.6f"%(Time.now-start)enddefdo_nothing(arg)endR

ruby - 未安装 gem 时如何从 require "gem_name"中解救

我正在编写一个依赖于特定gem的库。我需要gem并在我的代码中使用它,只要在用户的机器上安装了gem,一切都很好。但如果不是呢?!我认为这很好,因为我可以从require命令中解救出来并向输出打印一条消息以通知用户缺少gem并优雅地完成它,但我收到错误!你能告诉我应该怎么做或者这段代码有什么问题吗:beginrequire"some_gem"rescueputs"pleaseinstallsome_gemfirst!"end 最佳答案 如果require无法加载所需的库,则会引发LoadError异常。但是,您从不在任何地方从Loa

ruby-on-rails - `add_route' : Invalid route name, 已在使用中:'root' (ArgumentError)

我使用的是rails4.1.1和ruby​​2.1.1,我在设计方面遇到了问题,即我的路线。我以前用过很多次devise_for:usersget'pages/index'#RoutetoDeviseLoginPagedevise_scope:userdorootto:"devise/sessions#new"end#Directingtheuserafterloginauthenticated:userdoroot:to=>'pages#index'end但是我得到了错误`add_route':Invalidroutename,alreadyinuse:'root'(Argument

ruby-on-rails - rails : How to test if an attribute of a class object is required in the model policy?

简单地说,我有一个模型用户,其中包含名称、电子邮件和评论作为属性。validates_presence_of:namevalidates_presence_of:email所以“姓名”和“电子邮件”是必需的,但不是“评论”。my_user=User.new我想找到一种方法来测试像my_user.name.required?或User.name.required?类似的东西。我的目标是创建一个表单,并根据该项目是否设置为“validates_presence_of”,将特定类动态添加到表单项目span或td我试图搜索它,但没有找到任何相关信息。有没有简单的方法可以做到这一点?谢谢