草庐IT

on_copy_assignment

全部标签

ruby-on-rails - 如何测试 Rails ERB 模板的代码覆盖率?

我只是为旧版Rails应用程序构建测试套件。simplecovgem非常适合查找需要测试覆盖的应用程序的暗角(或者可能完全未使用但可以删除的暗角)。我通过在test/test_helper.rb的顶部包含以下内容来调用simplecov:require'simplecov'SimpleCov.start('rails')问题是这不会检查模板中嵌入的所有代码。那里有各种各样的垃圾,我敢肯定其中很多都可以删除,但如果代码覆盖工具可以将我指向未使用的位,那就太好了。对Ruby1.9的Coverage库进行的一些实验让我相信,只有将模板以某种方式预编译为Ruby代码,保存在Ruby源文件中,然

ruby-on-rails - 使用具有两个 Devise 用户模型和不同身份验证方法的登录表单

我正在构建一个站点,该站点必须支持通过LDAP进行的身份验证,以及仅在站点中管理的“本地”用户。目前我有以下Devise模型:classUserDevise正在为其中的每一个生成独立的路由,即/local_users/sign_in和/ldap_users/sign_in。这并不理想,用户不需要知道他们是哪种类型的用户,所以我想将它们统一为一种形式,使用一组登录/注销URL。我已经查看了一些关于如何执行此操作的解决方案,但它们似乎依赖于模型具有相同的Devise配置或相同的身份验证方法这一事实。我发现的此类问题的唯一其他在线示例是此Google网上论坛帖子:https://groups

ruby-on-rails - "require File.expand_path(' ../../config/environment', __FILE__)"到底做什么?

我一直在尝试更深入地了解Ruby,解构样板式rails应用程序似乎是了解编写跨不同文件和目录的Ruby应用程序的一些细节和优雅的好方法。在我当前的应用程序中,文件之间对“requires”的依赖变得有点问题(我发现我需要做一些事情,比如requires'../../../lib/helper'它变得有点丑陋。我注意到Rails应用程序似乎不受此影响。我确实注意到了这条线:requireFile.expand_path('../../config/environment',__FILE__)当我用谷歌搜索时,我发现很多关于Rails启动例程等的解释,但没有关于该行到底做什么的明确描述。在

ruby-on-rails - 覆盖由同一模块中的类方法定义的 ActiveSupport::Concern 模块中的方法

我有一个ActiveSupport::Concern模块,大致如下所示:moduleMyModelmoduleAcceptanceextendActiveSupport::Concernincludeddoenumstatus:[:declined,:accepted]enddefdeclined!self.status=:declined#someextralogicself.save!enddefaccepted!self.status=:accepted#someextralogicself.save!endendend这只会被包含到ActiveRecord类中,因此使用enum

ruby-on-rails - 尝试将本地数据库推送到 Heroku 后出现 "ActionView::Template::Error (Unknown primary key for table"

对于我通过Heroku托管的Ruby-on-Rails应用程序,我最近下载了一个备份,在本地恢复它,然后从外部来源将数据添加到数据库中。一切正常。在使用herokupg:pushHEROKU_DATABASE_URL--app将更新后的数据库推送到Heroku之后该应用程序运行良好,我可以看到新添加的数据。但是今天当我尝试在Heroku上登录该应用程序时,我收到了错误消息。在我的日志文件中,我看到了这个错误:ActionView::Template::Error(Unknownprimarykeyfortable...根据这篇SO帖子:Getting"Unknownprimarykey

ruby-on-rails - 自引用问题 has_many :through associations in Rails

我今天正在阅读有关自引用has_many:through数据情况的文章,因为我正在尝试构建一个使用它们的Rails应用程序。我找到了这个examplesituation在互联网上,我对此有疑问。让我从这个人的博客中发布这个示例代码:create_table:animalsdo|t|t.string:speciesendcreate_table:huntsdo|t|t.integer:predator_idt.integer:prey_idt.integer:capture_percentendclassAnimal'predator_id',:class_name=>'Hunt',:d

ruby-on-rails - Rails 初始化程序在 gem 中的什么位置?

我正在尝试从我现有的应用程序中提取一些功能到一个gem中。现有功能使用初始化程序在Rails启动时加载配置文件...config/initalizers/myinitializer.rb这个初始化程序应该放在gem的什么地方?我是镜像gem内部的路径结构还是将其放在其他地方?这将是我的第一颗gem。 最佳答案 加载Gem时,Rails首先在主Gem文件夹中查找名为init.rb的文件,如果可用则需要它。这可以作为Gem的Rails插件包的super简单的基本框架:namename/libname/lib/name.rbname/te

ruby-on-rails - 我应该在我的新网络应用程序中使用 Ruby 1.9.2 吗?

使用Rails3开始一个新的Web应用程序。我对Web开发还比较陌生,并且在使用Ruby1.8.7和Rails2.3.5工作时非常享受所有可用的Internet资源。有什么建议反对在我的新项目中使用Ruby1.9.2? 最佳答案 我已经成功地将我所有的Rails项目(除了一个,但我正在处理它)从Ruby1.8.7/Rails2.3.5转换到Rails3.0.0和Ruby1.8.7/1.9.2RC2和两种环境都非常稳定。幸运的是,自从我发布thisquestion后情况发生了变化.rails除非你真的有什么东西阻止你这样做,否则我强烈

ruby-on-rails - 如何在没有外部依赖项的情况下在 Ruby 中生成图像?

我想在我的Rails应用程序之外使用我自己的数据在Googlemap上实现热图。为此,我需要根据我的数据为每个map坐标(图block)生成叠加图像。我找到了如何使用ImageMagick生成它,但我不想依赖它,因为我计划将我的应用程序分发到多个地方,所以我想只使用Ruby语言来完成它。请注意,我只需要在一个小的透明正方形上绘制不同颜色的点。 最佳答案 我认为chunky_png或oily_png将是您最好的选择。它对ImageMagick没有外部依赖性,并以网络可用的格式生成图像。 关

ruby-on-rails - 在 View 中设计解锁按钮

这可能非常简单,我忽略了它。我正在使用设计可锁定功能,我想创建一个按钮,管理员可以检查该按钮以解锁锁定的用户。Devise有一个名为unlock_access!的模型方法.我试图在用户的Controller方法中使用View中的按钮调用它。观看次数:=link_to('unlock',user_unlock_path(user),method::post,class:'button-xs')unlessuser==current_userusers_controller.rb:defunlockuser=User.find(params[:id])user.unlock_access!