Questions tagged «ruby-on-rails-3»

Ruby on Rails是一个用Ruby编写的开源Web开发框架。Ruby on Rails遵循约定胜于配置的原则,使您不必重新进行发明以保持生产力。仅将此标记用于Rails 3特定问题,并标记这些问题[ruby-on-rails]。

3
我应该在我的Gemfile中指定确切版本吗?
我注意到在rubygems.org上有很多宝石建议您使用主要版本而非确切版本来指定它们。例如... haml-rails宝石... gem "haml-rails", "~> 0.3.4" # "$ bundle install" will acquire the # latest version before 1.0. 但是,根据Bundler文档,在我看来,最好像这样精确地确定版本... gem "haml-rails", "0.3.4" 因此,这里有您的haml-rails gem,其所有依赖项都不会向前漂移。如果几周后在另一台计算机上签出项目并运行,$ bundle install您将拥有与指定的所有版本完全相同的版本。 我看到过分发布会破坏东西,我认为Bundler整个想法的一部分就是“ Bundle.lock”所有宝石版本。 但是在rubygems.org上,他们经常使用“〜>”,所以也许我遗漏了一些东西? 任何澄清对我理解邦德勒和宝石管理都将非常有帮助。

7
Rails-最佳实践:如何创建依赖的has_one关系
您能告诉我创建has_one关系的最佳实践是什么吗? fe,如果我有一个用户模型,并且必须有一个配置文件... 我该怎么办呢? 一种解决方案是: # user.rb class User << ActiveRecord::Base after_create :set_default_association def set_default_association self.create_profile end end 但这似乎并不干净……有什么建议吗?


2
如何在Rails应用程序中对httparty使用基本身份验证?
具有基本身份验证的'httparty'命令行版本工作简单而又出色: httparty -u username:password http://example.com/api/url 但是现在我正在寻找可以从Rails应用程序中向HTTParty.get调用添加基本身份验证的方法。首先,出于测试目的,我想在Controller中对登录凭据进行硬编码。只是为了确保它有效。但是我找不到任何文档或示例来说明如何传递它们。 没有凭据的HTTParty.get可以正常工作: @blah = HTTParty.get("http://twitter.com/statuses/public_timeline.json") 但是我看不到如何对接受-u username:password部分的内容进行更改。 对我来说(对Ruby / Rails来说是一个非常新的东西),下一个挑战是从用户表单中获取用户凭证并动态传递它,但是对我来说最重要的是现在它使硬编码版本能够正常工作。

9
Rails 3:如何获取特定时区的今天的日期?
要获取今天的日期,我需要: Date.today # => Fri, 20 May 2011 我想获取特定时区的今天日期'Melbourne'。 我的设定如下application.rb: config.time_zone = 'Melbourne' 然后我设置: Time.zone = 'Melbourne' 在我的应用程序控制器中执行每个操作之前。 但是,它没有帮助(我猜是因为这些设置仅影响存储在数据库中的日期)。 我怎么能得到今天的日期'Melbourne'?

5
Rails:如何通过包含特定字符串的字段进行find_by
我有一个名为Topic的模型,该模型具有一个名称作为字段。 所以说我有一个要搜索的术语,苹果。 如果我做一个 Topic.find_by_name("apple") 我得到一个苹果名字的记录。很好-但是如何更改find​​_by_name以便它既可以找到“ apple juice”又可以找到“ apple”-基本上是找到包含原始查询或与原始查询完全匹配的名称? 编辑: 感谢您的所有答复。我想我本来应该更清楚一点,但是如果我想用一个变量名来查找(显然,我不想每次都用“ apple”这个名字来查找:))怎么办? 我如何操纵Topic.where来适应这一点?所以像... @topic = Topic.where(......., @name)

6
如何检查是否定义了类?
如何将字符串转换为类名,但前提是该类已经存在? 如果Amber已经是一个类,我可以通过以下方式将字符串从该类中获取: Object.const_get("Amber") 或(在Rails中) "Amber".constantize 但是,NameError: uninitialized constant Amber如果Amber还不是一门课,那么这两种方法都将失败。 我的第一个想法是使用该defined?方法,但它不会区分已经存在的类和不存在的类: >> defined?("Object".constantize) => "method" >> defined?("AClassNameThatCouldNotPossiblyExist".constantize) => "method" 因此,在尝试转换字符串之前,如何测试字符串是否为类命名?(好吧,begin/rescue块捕获NameError错误怎么样?太丑陋了吗?我同意...)

4
什么时候在模型中使用self?
问题:我何时需要在Rails的模型中使用self? 我的一个set模型中有一个方法。 class SomeData < ActiveRecord::Base def set_active_flag(val) self.active_flag = val self.save! end end 当我这样做时,一切正常。但是,当我这样做时: class SomeData < ActiveRecord::Base def set_active_flag(val) active_flag = val save! end end active_flag值不会更改,而是会静默失败。有人可以解释吗? 我找不到任何重复项,但是如果有人发现一个重复项也很好。

4
解析字符串以添加到URL编码的URL
给定字符串: "Hello there world" 如何创建这样的URL编码字符串: "Hello%20there%20world" 我还想知道如果字符串也有其他符号,该怎么办,例如: "hello there: world, how are you" 这样做最简单的方法是什么?我要解析,然后为此构建一些代码。





18
不兼容的字符编码:ASCII-8BIT和UTF-8
我使用Ruby 1.9.2和Rails 3.0.5 我有以下错误: 不兼容的字符编码:ASCII-8BIT和UTF-8 我认为它与数据库无关。 错误出现在视图的这一行上(只是一个div haml调用): #content 全栈: ActionView::Template::Error (incompatible character encodings: ASCII-8BIT and UTF-8): 21: -flash.each do |name, msg| 22: =content_tag :div, msg, :id => "flash_#{name}" 23: %div.clear 24: #content 25: = yield 26: = render :partial => "layouts/grid_right" if render_grid_right? 27: = render :partial => "layouts/footer" …

3
使用PostgreSQL查找重复的行
我们有一张带有以下各列的照片表: id, merchant_id, url 该表包含该组合的重复值merchant_id, url。因此一行可能会出现多次。 234 some_merchant http://www.some-image-url.com/abscde1213 235 some_merchant http://www.some-image-url.com/abscde1213 236 some_merchant http://www.some-image-url.com/abscde1213 删除这些重复项的最佳方法是什么?(我使用PostgreSQL 9.2和Rails3。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.