Google Maps For Rails – 仅在搜索结果发生变化时通过ajax更新标记

我一直在编写一个小应用程序,有很多来自stackoverflow的帮助。 基本前提很简单,我在网络上看到了这种function:我试图将一个位置列表绘制到可搜索/可平移的谷歌地图上。 位置存储在后端,控制器将这些位置提供给视图。 涉及AJAX是因为我不想重新加载整个页面。 以下是场景:a)用户通过zipcode搜索位置=>地图加载新位置,搜索获取发送到服务器并映射加载任何标记,如果有任何设置半径,地图设置默认缩放级别; b)用户平移/缩放=>地图停留在用户离开的任何地方,使用视口边界框的搜索被发送到服务器并映射结果。 地图将在初始加载时默认为西雅图,它尝试的第一件事是地理定位用户… 使用gmaps4ails wiki,主要是这个问题答案的修改版本: Google Maps for Rails – 用AJAX更新标记我已经非常接近了。 实际上,这很有效。 这是它的样子: sightings_controller.rb def search if params[:lat] @ll = [params[:lat].to_f, params[:lng].to_f] @sightings = Sighting.within(5, origin: @ll).order(‘created_at DESC’) @remap = true elsif search_params = params[:zipcode] geocode = Geokit::Geocoders::GoogleGeocoder.geocode(search_params) @ll = [geocode.lat, geocode.lng] @sightings = Sighting.within(5, origin: @ll).order(‘created_at DESC’) @remap = true […]

Rails:从版本控制中排除任何内容?

在版本控制下放置Rails项目时,是否排除了任何内容? 例如,日志文件?

合并基于ruby中特定键/值对的哈希值

我试图基于特定的键/值对合并散列数组。 array = [ {:id => ‘1’, :value => ‘2’}, {:id => ‘1’, :value => ‘5’} ] 我希望输出 {:id => ‘1’, :value => ‘7’} 正如patru所说,在sql术语中,这相当于: SELECT SUM(value) FROM Hashes GROUP BY id 换句话说,我有一个包含记录的哈希数组。 我想获得特定字段的总和,但总和将按键/值对分组。 换句话说,如果我的选择标准是:id,如上例所示,则它会将哈希值分成id为相同的组和其他键的总和。 对于由于之前的错字引起的任何混淆,我道歉。

雪豹/ 64位rubygem问题?

我刚刚升级到Snow Leopard,包括安装新的XCode,重新编译了Ruby 1.8和MySQL。 我的Rails应用程序在更新的环境中运行良好,除了一些依赖于ImageScience / FreeImage的图像处理function。 我将MacPorts升级到1.8,删除了所有以前安装的端口,并在1.8中重新安装它们,我认为这将安装64位版本的端口,包括FreeImage。 我还使用以下方法将image_science和RubyInline重新安装为64位gems: sudo env ARCHFLAGS =“ – arch x86_64”gem install RubyInline image_science 现在,当我在需要图像处理的页面上运行我的应用程序时,我在日志中收到此错误: 加载ImageScienceProcessor时出现问题:dlopen(/ myappname / config / initializers /../tmp /.ruby_inline / Inline_ImageScience_cdab.bundle,9):找不到合适的图像。 找到:/myappname/config/initializers/../tmp/.ruby_inline/Inline_ImageScience_cdab.bundle:mach-o,但错误的架构 – /myappname/config/initializers/../tmp/.ruby_inline/Inline_ImageScience_cdab.bundle 有人可以帮我解决这个错误告诉我的内容吗?

在Rails路由中测试什么?

我很好奇人们认为对路线进行充分/彻底的测试。 我工作的人似乎想要在我们的路线文件中断言每条路线,无论标准如何。 我觉得这是浪费时间,但也许我错了,我不知道这有什么价值。 在某些情况下,我可以在路由中看到一些价值。 我们仍然有一些响应GET和POST请求的动作,尽管我一直想要摆脱它们。 我们没有任何关于lambdas或任何东西的疯狂约束,但是如果我们这样做,那似乎值得测试。 但是对于正常的资源定义? resources :foo, only: [:index, :show] 我们断言这两条路线都存在,我们声称它们是GET并且它们会转到正确的控制器/动作。 这有什么意义吗? 感觉就像我们刚刚测试Rails一样。 在一个稍微相关的问题上,我更喜欢定义像上面那样的资源路径( only: [:index, :show]部分)。 仅定义resources :foo是否有任何后果resources :foo如果该控制器上只有索引/显示操作,则路径文件中为resources :foo ? 在我看来,它可能只是使用更多的时间和/或内存,但它是否也是一个安全问题,或者是我不知道的非常糟糕的东西?

运行单个function时,Cucumber无法找到步骤

我刚刚将黄瓜安装到一个新的rails项目中(第一次从头开始设置)并且在运行所有测试( bundle exec cucumber )时它运行得非常好,但是当我运行单个function文件时找不到任何步骤。 我怎么开始调试这个? rails (3.2.13) cucumber-rails (1.3.1) cucumber (>= 1.2.0) # file listing features/ ├── campaigns │ ├── donating_campaigns.feature │ └── viewing_campaigns.feature ├── step_definitions │ └── campaign_steps.rb └── support └── env.rb

创建多个csv文件并使用rails在一个zip-archive中下载

我正在寻找一种方法来创建多个csv文件,并在我的rails应用程序中的一个请求中将它们下载为一个zip存档。 要构建存档,我使用rubyzip gem – 只下载rails内置函数send_data。 我遇到的问题是rubyzip的add-function需要一个路径名来加载文件。 但是没有路径,因为我的csv文件是在同一个请求中创建的。 一些代码: # controller action to download zip def download_zip zip = @company.download_all send_data zip, filename: “abc.zip”, type: ‘application/zip’ end # method to create zip def download_all Zip::File.open(‘def.zip’, Zip::File::CREATE) do |zipfile| self.users.each do |user| #some magic to combine zipfile.add() and user.to_csv end end end # method to create csv […]

Ruby gem安装和“没有这样的文件加载”

我在Backtrack 5中使用Ruby 1.9.2dev编写脚本但是在尝试使用库“htmlentities”解析html实体时遇到了一些问题。 虽然我已经安装了gem,但我无法加载库。 我将向您展示我在控制台中遇到的问题: root@bt:~# gem list -d htmlentities *** LOCAL GEMS *** htmlentities (4.3.1) Author: Paul Battley Homepage: https://github.com/threedaymonk/htmlentities Installed at: /var/lib/gems/1.9.2 A module for encoding and decoding (X)HTML entities. root@bt:~# irb irb(main):001:0> require ‘htmlentities’ LoadError: no such file to load — htmlentities from (irb):1:in `require’ from (irb):1 from /usr/bin/irb:12:in `’ 这与我和nokogiri有同样的问题。 我安装了库 […]

在Rails4中添加子类别

我有很多主要类别,并希望添加到每个子类别.-> 主要类别 – 子类别 – 子类别 – 子类别 主要类别 – 子类别 – 子类别 – 子类别 很多人建议我使用gem,但由于我对Rails相当新,我宁愿自己学习如何做到这一点,也要学习他们所有的方法。 我应该从Scaffold还是仅仅是Model ? 有人可以解释我如何开始(迁移等)以及如何设置它? 谢谢。

“rake”运行我所有的Cucumber测试都很好,但“黄瓜”没有步骤

我inheritance了一个Rails(3)应用程序,并试图掌握现有的Cucumber测试。 我在应用程序的’features’文件夹中有以下设置(我错过了任何不相关的文件,例如额外的function和步骤) /features /people new-person.feature /step_definitions people_steps.rb web_steps.rb /support env.rb paths.rb selectors.rb 如果我运行’rake’,它会运行features / people / new-person.feature中的所有function,正确使用step_definitions中列出的步骤。 但是,我不想每次都运行rake因为它需要太长时间,我只想在Cucumber中运行特定的测试,例如cucumber features/people/new-person.feature -l 8 当我这样做时,它运行该function但尚未加载步骤。 我得到了回复: Using the default profile… Feature: Add a new person In order to allocate tasks to people As a community manager I want to add a new person Scenario: Secondary navigation should contain […]