你最喜欢的Ruby on Rails书籍是什么?为什么?

我正在寻找一些关于RoR的书籍,以帮助自学如何构建可扩展的RoR应用程序。 我已经阅读了RailsS​​pace的书,并且今晚开始了Rails Way的书。 一些感兴趣的主题是: REST – 考虑使用亚马逊的SimpleDB 有效地使用RSpec memcached – 服务器架构和代码实现 mongrel – 服务器架构 MySQL的

Ruby Sequel模块中的事务:如何获取DB对象?

我正在使用Sequel在Sinatra应用程序中工作。 我想做一个事务,根据我必须使用DB对象的手册,我怎样才能从我的代码的任何部分获取这个对象?

RSpec:如何设置控制器的实例变量

我的rails控制器中有这个方法: def some_init_func # … @inst_var = 1 # … end 后来: do_something_with(@inst_var) 如何在RSpec中设置此实例变量? allow(controller).to receive(:some_init_func) do # ???? what goes here ???? end Muchas gracias 🙂

在html class =“”属性中插入ruby

这可能真的很愚蠢,但我花了最后2个小时试图找出如何做到这一点,没有运气。 基本上我需要我的html页面执行以下操作: … 但我需要使用ruby向该div类添加更多类,这些类来自我数据库中的文本字段。 我尝试插入ruby像: <div class="circleElement"+ >… 这条线的许多不同的变化没有运气:( 我应该补充一点,u.tag完全保留了这个字符串>“activeTag classicTag”….所以它应该没有任何问题附加,但它没有做到!

.NET上没有哪些很酷的Java / Ruby等框架?

我刚刚在Justin Etheredge的一篇文章中写道: “当我在工作中与Java工作人员交谈并看到他们在平台上免费提供的所有令人敬畏的工具时,我非常嫉妒。自从我使用在进行大多数.NET开发时,NUnit,NCover,NHibernate,NAnt堆栈,有时候我觉得我们只是一堆模仿“ 。 还有哪些其他酷的框架不在.NET上,我可能不知道? 我们可以省略一些具有直接或非常合理的模拟的东西,只有kewl shiznit! PS我们并不是那么糟糕。 我非常确定NDepend是从.NET开始的,并且已经转向Java PPS每个项目一个答案请! 这使讨论它们变得容易多了!

YAML中的多级嵌套

我正在尝试使用YAML创建应用程序中使用的所有存储过程的列表以及从中调用它们的位置。 我设想了类似下面的东西,但我认为YAML不允许多级嵌套。 access_log: stored_proc: getsomething uses: usedin: some->bread->crumb usedin: something else here stored_proc: anothersp uses: usedin: blahblah reporting: stored_proc: reportingsp uses: usedin: breadcrumb 有没有办法在YAML中做到这一点,如果没有,还有什么其他选择?

构建后Gem中缺少文件

TL; DR: 不要在现有的git存储库中运行bundle。 没有任何错误消息会发生奇怪的事情。 原始问题: 我通过调整本教程中的步骤构建了一个gem: http://net.tutsplus.com/tutorials/ruby/gem-creation-with-bundler/ 作为最后一步,我运行了gem build .gemspec 这成功了,但是当我安装gem时,我发现关键文件,包含我的代码的文件,不在gem中。 同一(lib)目录中的另一个文件“version.rb”确实存在于gem中。 我不知道如何开始调试这个… bundler / gem build如何决定哪些文件包含在gem中? 编辑: 我的工作流程是: gem build .gemspec gem unpack => confirm file does not exist in /lib/ gem install => confirm file structure in ~/home/stefan/.rvm/… contains gem, but does not contain desired file 编辑2 /决议 : 我终于能够通过将我的所有代码提交到远程存储库,创建一个干净的克隆以及构建gem来实现这一目标。 新的gem包含了所有必需的文件。 一点历史…我最初创建代码并在考虑制作gem之前提交了它(这是我的第一个gem)。 然后我在原始存储库中使用了bundle,它没有抱怨,但可能是这种奇怪的原因。

Rails使用API

我是初学者,正在使用API​​。 我正在尝试使用Forecast API 。 我不想使用它的官方包装 ,因为我首先喜欢学习和学习。 class Forecast include HTTParty base_uri “api.forecast.io/forecast/#{@api_key}/#{@latitude},#{@longitude}” def initialize(api_key,latitude,longitude) self.api_key = api_key self.latitude = latitude self.longitude = longitude end end 现在初始化后的下一步应该是什么。 我试图理解使用httparty gem示例,但无法弄清楚究竟要做什么。 你能帮我解决一下并用API指出相关资源吗?

如何加载UrlHelper和Rails中的路由?

我想在PORO中包含路由和link_to方法。 在控制台中测试这个时,我遇到了这样的问题: 如果我在没有路由助手的情况下包含UrlHelper,一切似乎都可以正常工作: ruby-1.9.3-rc1 :001 > Rails.version => “3.2.0.rc2” ruby-1.9.3-rc1 :001 > include ActionView::Helpers::UrlHelper => Object ruby-1.9.3-rc1 :002 > link_to “foo”, Rails.application.routes.url_helpers.ponies_path => “foo” 如果我包含路线: ruby-1.9.3-rc1 :001 > include ActionView::Helpers::UrlHelper ruby-1.9.3-rc1 :003 > include Rails.application.routes.url_helpers => Object ruby-1.9.3-rc1 :004 > link_to “foo”, ponies_path 我收到以下错误: NameError: undefined local variable or method `controller’ for # 我在这做错了什么?

运行规范时出现的描述性错误,取决于种子

我编写了一个function规范来测试我的应用程序中的正确多租户行为。 它以两个不同的用户身份登录,通过填写表单并将其作为每个用户提交来创建新的Presentation ,并在每次只有租户自己的演示文稿可见时确认。 这个规范有时很好,有时也没有。 真正令人困惑的是发生的错误: Failure/Error: click_button “Präsentation erstellen” TypeError: can’t cast ActiveSupport::HashWithIndifferentAccess to # ./app/controllers/presentations_controller.rb:21:in `create’ # ./spec/features/presentation_management_spec.rb:22:in `block (3 levels) in ‘ 并且这不是粘贴时的错误,它字面上说can’t cast ActiveSupport::HashWithIndifferentAccess to并停在那里。 上下文中引用的行: ./app/controllers/presentations_controller.rb 18 def create 19 @presentation = Presentation.new(presentation_params) 20 21 if @presentation.save 22 flash_for(@presentation, :create) 23 redirect_to @presentation 24 else 25 render :new 26 end 27 […]