草庐IT

CURRENT_AS_PATHNAME

全部标签

ruby-on-rails - heroku scale web=1 返回 "no such type as web"

我正在尝试为已在生产中拥有应用程序的客户设置暂存服务器。使用8个网络测功机扩大生产规模。我创建了一个暂存应用程序并推送了代码。当我运行时:herokuscaleweb=1--app=myapp-staging我得到:Scalingwebprocesses...failed!Nosuchtypeasweb两种情况下的procfile完全相同。它只有两行,看起来像这样:web:bundleexecrailsserverthin-p$PORT-e$RACK_ENVworker:bundleexecrakejobs:work在应用程序配置中,我将$PORT设置为80,将$RACK_ENV设置为

Ruby 闭包 : How to return args and block as a single argument to pass to a method

假设我有一个接受参数和block的方法:defyield_if_widget(*args,&block)ifargs[0].is_a?(Widget)block.callendend我可以用参数和block调用这个方法:yield_if_widget(Widget.new)doputs"Ilikewidgets"end但是如果我有另一种方法来准备参数和block呢:defwidget_and_blockargs=[Widget.new]block=proc{puts"Ilikewidgets"}[args,block]end而且我希望能够将它直接传递给第一个方法:yield_if_wi

ruby-on-rails - 设计:覆盖 current_user(为用户设置不同的类)

我想这样做:应用程序Controller.rb:classApplicationController但还是没有出去覆盖current_user日志:https://gist.github.com/anonymous/e0a5fb593b020b16a0cd2ae9d539b92a 最佳答案 这对我有帮助:classApplicationController 关于ruby-on-rails-设计:覆盖current_user(为用户设置不同的类),我们在StackOverflow上找到一个

ruby-on-rails - 我如何按帐户确定 acts_as_taggable_on_stereoids 的范围?

如果我的网站在逻辑上分为多个帐户(例如acme.mywebsite.com、xyz.mywebsite.com),我该如何实现act-as-taggable-on-steroids并拥有当前帐户范围内的标签?要提供更多细节,如果我正在访问acme,我不想看到来自xyz子域的标签。我已经研究了act-as-taggable-on,但只有当您想要为同一模型使用不同类别的标签时,才会提供上下文。 最佳答案 假设我理解您的问题,因为您有多个帐户,每个帐户都有自己的一组标签,这些标签可以应用于您的应用程序中调用acts_as_taggable

ruby 1.9.3-p0 乘客 "Symbol not found: _ruby_current_thread"

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Rails3.1andRuby1.9.3p125:ruby-debug19stillcrasheswith“Symbolnotfound:_ruby_threadptr_data_type”刚刚更新到1.9.3-p0,更新了我所有的gem等等,但我的应用程序仍然无法启动。乘客错误:Errormessage:dlopen(/Users/username/.rvm/gems/ruby-1.9.3-p0/gems/ruby-debug-base19-0.11.25/lib/ruby_debug.bundle,9):

ruby-on-rails - Rails - 为什么在 sign_in 方法中使用 self.current_user = user

我已经完成了RubyonRailsTutorial迈克尔·哈特尔。我知道一些关于实例变量、getter和setter的基本概念。登录方法是heredefsign_in(user)cookies.permanent[:remember_token]=user.remember_tokenself.current_user=userend现在我卡在了这条线上self.current_user=user我发现这个相关question,但我还是不明白。登录后,用户将被重定向到另一个页面,因此@current_user将为nil。Rails只能从cookie或session中获取current_

ruby-on-rails - 将参数从 as_json 传递到模型

Controller:user=User.find(params[:id])respond_with({:posts=>@posts.as_json})型号:defas_json(options={}){name:self.name,...}end我想将params[:id]之类的参数传递给as_json函数以更改JSON显示中的内容。我该怎么做? 最佳答案 好吧,as_json确实有一个选项散列,所以我想你可以用它来调用它respond_with({:posts=>@posts.as_json(:params=>params)})

ruby 文件 IO : Can't open url as File object

我的代码中有一个函数,它接受一个表示图像url的字符串,并从该字符串创建一个File对象,以附加到推文。这似乎在大约90%的时间都有效,但偶尔会失败。require'open-uri'attachment_url="https://s3.amazonaws.com/FirmPlay/photos/images/000/002/443/medium/applying_too_many_jobs_-_daniel.jpg?1448392757"image=File.new(open(attachment_url))如果我运行上面的代码,它会返回TypeError:noimplicitcon

Ruby:我怎样才能杀死 "warning: ` *' interpreted as argument prefix"?

这个问题在这里已经有了答案:Whydoeswhite-spaceaffectrubyfunctioncalls?(2个答案)关闭5年前。如何从以下代码中删除“警告:‘*’被解释为参数前缀”?hash={"a"=>1,"b"=>2,"s"=>3,}if"string".start_with?*hash.keysthenputs"ok"elseputs"ng"end当我运行上面的代码时,我得到:$ruby-w/tmp/a.rb/tmp/a.rb:5:warning:`*'interpretedasargumentprefixok修复此警告的最佳方法是什么?我试过像这样在hash周围加上括号

ruby - 符号如何(例如 :label) handled as part of a parameter hash

我正在查看O'Reilly书中关于RubyonRails的示例代码并遇到了这个:deflabel_for(method,options={})extra=""ifoptions[:required]extra="*"endlabel(:label||method)+extra+""end我知道options是一个散列,但它怎么能只用:label调用label-不应该吗需要说options[:label]吗?谢谢! 最佳答案 是的,我相信是这样,否则:label符号将始终作为method名称传递给label助手。