Tag: ruby

设置rake-pipeline以与Google App Engine一起使用

所以这就是我正在尝试做的事情。 我正在构建一个ember.js应用程序,在GAE上运行java后端。 我正在使用把手,但我希望它们分成单独的文件,而不是全部粘贴到index.html中。 通过ember.js irc,我和minispade一起打开了rake-pipeline 随着Webfilter和自定义手柄filter,我开始构建资产文件。 我不知道Ruby,或者gem文件等。 因此,我试图找出能够动态编译我的coffeescript / handlebars文件的最佳方法,minispade它们,但在开发模式下保持各个文件可访问,以便我可以调试它们。 令人困难的是,rake管道运行在与GAE不同的端口上。 所以我不确定如何处理这个问题。 在开发期间,我是否将GAE中的索引文件指向9292端口(rakep)中的单个文件,但是在生产模式下是否指向完全连接的版本? 我不确定。 所以我试图在这里做到这一点: https : //gist.github.com/1495740只有一个由’build’标志触发的部分。 甚至不确定这是否有效。 我知道这里有很多混乱。 道歉,就像我说的那样,我甚至不熟悉Ruby的做事方式。

Unix命令可以在服务器上运行,但不能在ruby ssh会话中运行

我正在尝试学习如何将net-ssh gem用于ruby。 我想在登录目录 – / home / james后执行以下命令。 cd / pwd ls 当我使用putty执行此操作时,它可以工作,我可以看到目录列表。 但是,当我用ruby代码执行它时,它不会给我相同的输出。 require ‘rubygems’ require ‘net/ssh’ host = ‘server’ user = ‘james’ pass = ‘password123’ def get_ssh(host, user, pass) ssh = nil begin ssh = Net::SSH.start(host, user, :password => pass) puts “conn successful!” rescue puts “error – cannot connect to host” end return […]

按关联计数订购产品

类产品 has_many :sales end Class Sale belongs_to :product end 我如何获得最畅销的产品..(产品找到所有..订购.. ventas ..)?

Rails路由到用户名而不是id

我正在尝试将rails users从/ users / 1更改为/ username。 我目前正在设置它,因此它适用于显示和编辑的操作。 实际问题是,当我使用以下命令更新用户时: 它永远不会更新,因为更新操作被路由到/ users /:id。 有没有办法路由这个,以便它适用于/用户名? (作为动作在我的表单中呈现的路径)。 我已经在这一段时间里摸不着头脑了。 编辑: 问题是没有路由到用户名,它正常工作。 问题是表单路由到/ username以进行更新,但是用户的更新路由仍然是/ users /:id而不是:/ id。 我尝试更新我的路线,但无济于事: match ‘/:id’, :to => “users#show”, :as => :user match ‘/:id’, :to => “users#update”, :as => :user, :via => :put match ‘/:id’, :to => “users#destroy”, :as => :user, :via => :delete 编辑: 卫生署! 这解决了这个问题: […]

如何在Mac OS X上卸载Ruby on Rails?

我正在关注Ruby on Rails的教程,并且教程已经更新到Rails的新版本,因此我不能再遵循它了,因为我有一个旧版本。 我想在我的Mac OS X 10.5.8上开始新的并卸载Ruby on Rails和任何相关软件,并从头开始关注它。 如果有人愿意帮我卸载Ruby和Ruby on Rails,我们将不胜感激。

Ruby中奇怪的反斜杠替换

我不明白这个Ruby代码: >> puts ‘\\ <- single backslash' # \ > puts ‘\\ <- 2x a, because 2 backslashes get replaced'.sub(/\\/, 'aa') # aa <- 2x a, because two backslashes get replaced 到目前为止,一切如预期。 但是如果我们用/\\/搜索1,并用’\\\\’编码的2替换,为什么我们得到这个: >> puts ‘\\ <- only 1 … replace 1 with 2'.sub(/\\/, '\\\\') # \ <- only 1 backslash, even though we replace […]

使用Ruby / Rails将嵌套哈希展平为单个哈希

我想在不同深度的哈希中“扁平化”(不是经典意义上的.flatten ),如下所示: { :foo => “bar”, :hello => { :world => “Hello World”, :bro => “What’s up dude?”, }, :a => { :b => { :c => “d” } } } 下到一个单一级别的哈希,并且所有嵌套的键合并为一个字符串,因此它将成为: { :foo => “bar”, :”hello.world” => “Hello World”, :”hello.bro” => “What’s up dude?”, :”abc” => “d” } 但我想不出一个好办法。 它有点像Rails添加到deep_ helper函数,但不完全相同。 我知道递归将是这里的方式,但我从未在Ruby中编写过递归函数。

如何从另一个目录中请求ruby文件

我想要一个我在另一个文件中创建的rake文件。 这两个文件位于两个不同的目录中。 我要求在我的第一个文件的顶部,在require之后的引号内有第二个文件的名称。 它告诉我它无法加载这样的文件。 这是否意味着因为它在不同的目录中找不到它? 我试着坚持第二个文件的完整路径,但它仍然无法加载文件。 有谁知道如何将第二个文件加载到第一个文件中? 提前致谢

+ =和<<之间的Ruby差异以连接字符串

在Ruby 1.8.7上,当发现在String对象上<<和+=之间似乎存在巨大差异时,我正在进行循环连接字符串: y = “” start = Time.now 99999.times { |x| y += “some new string” } puts “Time: #{Time.now – start}” # Time: 31.56718 y=” start = Time.now 99999.times { |x| y << "some new string" } puts "Time: #{Time.now – start}" # Time: 0.018256 我谷歌了解一下,发现了一些结果: http://www.rubylove.info/post/1038516765/difference-between-string-concatenation-ruby-rails 说<<修改两个字符串,而+=只修改调用者。 我不明白为什么然后<<更快。 接下来我去了Ruby doc,但我想知道为什么没有方法+= http://ruby-doc.org/core-2.2.0/String.html

就像Ruby on Rails中的按钮Ajax一样

我有一个Ruby on Rails项目,其中包括模型User和模型Content等。 我希望用户能够“喜欢”一个内容,并且我已经使用acts_as_votable gem完成了这项工作。 目前,喜欢系统正在运行,但每次按下喜欢按钮(link_to)时我都会刷新页面。 我想使用Ajax来做这件事,以便更新按钮和喜欢的计数器,而无需刷新页面。 在我的Content -> Show视图中,这就是我所拥有的: · users like this Content控制器这样做喜欢/不喜欢: def like @content = Content.find(params[:id]) @content.liked_by current_user redirect_to @content end def dislike @content = Content.find(params[:id]) @content.disliked_by current_user redirect_to @content end 在我的routes.rb文件中,这就是我所拥有的: resources :contents do member do put “like”, to: “contents#like” put “dislike”, to: “contents#dislike” end end 正如我所说,喜欢系统工作正常,但在用户按下之后不会更新喜欢的计数器或类似按钮。 相反,为了欺骗它,我在控制器动作中调用redirect_to @content 。 […]