Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

5
ActiveRecord:如何获取可以批量分配的模型的所有属性?
我想要一个可以批量分配的所有属性名称的列表。对于自定义表单构建器,我需要此设置,该表单构建器默认不会添加无法批量分配的输入字段。 例如,如果我有以下模型: class Post < ActiveRecord::Base attr_protected :account belongs_to :author validates_presence_of :title, :author end 结果我希望有[:author, :title]。

12
60秒内无法获得稳定的Firefox连接(127.0.0.1:7055)
在测试场景cucumber时,运行rspec测试时出现以下错误 无法在60秒内获得稳定的firefox连接(127.0.0.1:7055)(Selenium :: WebDriver :: Error :: WebDriverError) 使用ruby (1.9.2) selenium-webdriver (2.27.2)和firefox (19.0) 使用rspec-rails (2.12.1),capybara (2.0.2)和其他几个宝石,我也有增加launchy的宝石,但他们似乎并不成为一个问题。我正在使用Windows 7。

11
如何在Rails中提交布尔参数?
我正在提交show_all带有值的参数true。该值与模型无关。 我的控制器正在将此参数分配给实例变量: @show_all = params[:show_all] 但是,@show_all.is_a? String并且if @show_all == true总是失败。 Rails将哪些值解析为布尔值?如何明确指定我的参数是布尔值而不是字符串?

12
Rails:在Ruby on Rails中的模型中访问current_user
我需要在Ruby on Rails应用程序中实现细粒度的访问控制。单个用户的权限保存在数据库表中,我认为最好让各自的资源(即模型的实例)来决定是否允许某个用户对其进行读写。每次在控制器中做出这个决定肯定不会很干。 问题在于,为此,模型需要访问当前用户,才能调用。但是,模型通常无法访问会话数据。 may_read?(current_user, attribute_name) 有很多建议可以在当前线程中保存对当前用户的引用,例如在 本博客文章中。这肯定会解决问题。 不过,与Google相邻的结果建议我将对当前用户的引用保存在User类中,我想这是某人想到的,其应用程序不必一次容纳很多用户。;) 长话短说,我感觉到我希望从模型内部访问当前用户(即会话数据)是因为我做错了。 你能告诉我我错了吗?

2
有关空的belongs_to关联的最佳实践
想象一下以下情况: 我有一个dog模特和一个house模特。狗可以属于一所房子,而房子可以有许多狗,因此: Class Dog < ActiveRecord::Base belongs_to :house end Class House < ActiveRecord::Base has_many :dogs end 现在,想象一下我也想创造没有房子的狗。他们不属于房屋。我仍然可以使用该关系结构,而:house_id在创建它时不通知它吗? 有更好的做法吗? 观察:我用这个比喻简化了我的问题,但是我的真实情况是:我有一个模型,用户可以生成它的实例。他还可以创建这些实例的集合,但可以将实例保留在集合之外。

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

13
如何使用rspec测试ActionMailerliver_later
尝试使用delay_job_active_record升级到Rails 4.2。我没有为测试环境设置delay_job后端,以为作业将立即执行。 我正在尝试使用Rspec测试新的'deliver_later'方法,但不确定如何。 旧控制器代码: ServiceMailer.delay.new_user(@user) 新的控制器代码: ServiceMailer.new_user(@user).deliver_later 我曾这样测试它: expect(ServiceMailer).to receive(:new_user).with(@user).and_return(double("mailer", :deliver => true)) 现在,我在使用它时遇到了错误。(双“ mailer”收到意外消息:带有(无参数)的deliver_later) 只是 expect(ServiceMailer).to receive(:new_user) 对于nil:NilClass,也使用“未定义的方法'deliver_later'”失败 我尝试了一些示例,这些示例使您可以查看是否使用ActiveJob中的test_helper将作业排入了队列,但我还没有设法测试排队的正确作业。 expect(enqueued_jobs.size).to eq(1) 如果包括test_helper,则通过,但不允许我检查它是否发送了正确的电子邮件。 我想做的是: 测试正确的电子邮件已排队(或在测试环境中立即执行) 具有正确的参数(@user) 有任何想法吗??谢谢

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

7
Ruby on Rails:以表单提交数组
我有一个模型,其属性为数组。我从表单提交中填充该属性的正确方法是什么? 我知道有一个带有字段名称(包括方括号)的表单输入会从输入中创建一个哈希。我是否应该仅接受它并逐步进入控制器以将其按摩成阵列? 使其抽象程度降低的示例: class Article serialize :links, Array end links变量采用URL数组的形式,即 [["http://www.google.com"], ["http://stackoverflow.com"]] 当我在表单中使用类似以下内容的内容时,它会创建一个哈希: <%= hidden_field_tag "article[links][#{url}]", :track, :value => nil %> 产生的哈希看起来像这样: "links" => {"http://www.google.com" => "", "http://stackoverflow.com" => ""} 如果我未在链接名称中包含url,则其他值会相互干扰: <%= hidden_field_tag "article[links]", :track, :value => url %> 结果看起来像这样: "links" => "http://stackoverflow.com"

7
如何获得昨天的日期?
如何获得昨天的日期? 也许: @get_time_now = Time.now.strftime('%m/%d/%Y') / 86400 要么 @get_time_now = Time.now.strftime('%m/%d/%Y') - 1.day 要么 @get_time_now = Time.now. / 86400 86400 = 1天,对吗?(60 * 60 * 24)

5
Ruby Gems未安装,在获取Gems时挂起
我最近按照hivelogic上的说明清除了所有的ruby安装和已安装的表单源 我已经能够安装一些gems,但是大多数时候,“ sudo gem install rails”挂起。我添加了-V标志,它似乎挂起了,我没有收到任何错误。并且该进程不能被杀死。我只能重启才能终止该过程。 我的红宝石信息: [tim@ ~]# ruby -v ruby 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10.2.0] [tim@ ~]# gem -v 1.3.6 [tim@ ~]# gem environment RubyGems Environment: - RUBYGEMS VERSION: 1.3.6 - RUBY VERSION: 1.8.7 (2010-01-10 patchlevel 249) [i686-darwin10.2.0] - INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /usr/local/bin/ruby - EXECUTABLE …

15
如何在Windows上解决“证书验证失败”?
我正在尝试使用对OAuth到Google服务的签章。并得到这个错误: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed 遵循以下问题: SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败 OmniAuth和Facebook:证书验证失败 似乎解决方案是修复ca_path或设置VERIFY_NONESSL。 ca_path发布的修复程序仅适用于Linux(端口安装),并且该修复程序VERIFY_NONE似乎是法拉第。 Windows / signet gem是否有解决方案?

11
如何在Rails 3.2中添加Favicon
我知道新的Rails应用程序附带一个空的favicon.ico文件。我想知道如何添加收藏夹图标。我知道您可以使用该favicon_link_tag帮助程序,但是我不确定如何填充favicon.ico文件。您是否使用网站图标生成器?如果是这样,哪个最好? 我还希望能够对其进行缓存,rails是否也可以自动进行缓存? 谢谢

3
无法构建gem本机扩展-Rails安装
我一直在根据edX在线课程的说明安装Ruby on Rails。 这是终端命令的列表,以及相关的相应输出: $ sudo apt-get install ruby1.9.1 安装成功 $ wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz $ tar zxvf ruby-1.8.24.tgz $ cd ruby-1..8.24 $ sudo ruby setup.rb RubyGems 1.8.24 installed == 1.8.24 / 2012-04-27 * 1 bug fix: * Install the .pem files properly. Fixes #320 * Remove OpenSSL dependency from the http …

4
如何覆盖Rails的命名约定?
我有一个名为“ clothing”的模型,我想成为单数(一件衣服)。默认情况下,rails说复数是服装。对或错,我认为如果复数为“衣服”,则可读性更高。 如何覆盖复数命名约定?我可以在模型中正确执行此操作,而不必一遍又一遍地执行吗?这将如何改变路由的处理方式(我正在使用静态架构)?

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.