草庐IT

passing-data-between-view-control

全部标签

ruby-on-rails - 如果我调用 Factory.build 以使我的 Controller 测试快速,我怎样才能让 Factory Girl 永远不会访问数据库?

我正在寻求使我的Rails测试更快。我只有520个测试,但它们在bash中运行需要62秒,在Rubymine中运行需要82秒。作为典型Controller测试的示例,我使用此代码以@user身份登录并在CommentsController中为我的RSpecController测试创建基本的@comment:before(:each)do@user=Factory.create(:user)sign_in@user@comment=Factory.create(:comment)end您可能会意识到...这很慢。它构建了一个@user,但也为该用户构建了关联。@comment也是如此。所

ruby-on-rails - ActionMailer 最佳实践 : Call method in the model or the controller?

发送电子邮件通常在对模型执行操作后调用,但电子邮件本身是一个View操作。我正在寻找您如何考虑要问自己什么问题来确定将操作邮件程序方法调用放在何处。我见过/使用过它们:在模型方法中-相关但独立的关注点的耦合不良?在模型的回调中(例如after_save)-就我目前的知识水平而言,最好的分离。在Controller操作中-只是感觉不对,但在某些情况下这是构建代码的最明智的方式吗?如果我想知道如何编程,我需要像程序员一样思考,因此学习如何思考特定的编程解决方案值得我独自编码数月。谢谢! 最佳答案 迟到的答案,但我想在这个问题上合理化:通

ruby-on-rails - Rails 替代 Django 管理面板/CRUD View 生成器?

我目前正在尝试在Rails和Django之间做出决定。目前我发现ruby​​更优雅,所以我考虑Django的唯一原因是管理面板..我没有任何经验,但我必须在截止日期前快速开发应用程序。Rails中是否有一种方法可以根据您的模型(如django中的管理面板)为您的所有CRUD操作生成一组(接近生产就绪的)View?(即它会查看您的模型并看到您有一个属于某个组的人,并在创建人员View上为该组生成一个下拉列表)?如果不是,那是获得所有CRUDView初稿的最快方法(无需手动编写)?谢谢,丹尼尔 最佳答案 有趣的工具http://acti

ruby-on-rails - 在 RoR 中回滚生成的 Controller /模型

我使用脚手架创建了一个模型和Controller文件。后来我发现先在数据库中创建表是个好主意...我的问题是,如果我在数据库中有表,我如何才能恢复生成的文件并重新生成它们?我刚开始学习RoR,所以现在我对最佳实践不感兴趣,只是学习这个FW(RoR)附带的工具箱。还有,你有好的教程推荐吗?我确实知道使用谷歌,只是搜索引擎还不知道(正在努力)如何对教程进行评分。编辑:对于我的最后一个问题,我找到了LearningRubyonRails 最佳答案 尝试railsdestroyscaffoldXXXXX但我感到困惑的一件事是您说“后来我发现

ruby - Controller 中批量更新的最佳实践

我想知道在Controller中允许批量编辑/更新的最佳做法是什么。我真的找不到关于这个主题的文章或指南。 最佳答案 我看到您用REST标记了您的问题。要以REST方式执行此操作,您需要将集合或更新本身视为资源。假设您正在使用Product对象。您可能会PUT到/product_batches/[someidentifier],这会调用ProductBatchesController#update,但随后您会想知道[someidentifier]中的内容。您可以将ProductBatch设为singularresource这样您就不

ruby-on-rails - Rails Controller 中的实例和类变量

我是Rails和ruby​​的新手。我正在研究类和实例变量的概念。我理解其中的区别,但是当我使用rails中的Controller进行尝试时,它让我感到困惑。我所做的是在类方法之外声明了一个类和实例变量:classBooksController我的印象是@insworld具有“我的爱好”的值,但是当我在index方法中尝试检查@insworld的值时,@insworld返回了一个零值。@@world的值为“HelloWorld”。那么这里发生了什么?它们不是在同一个类中定义的吗? 最佳答案 类在Ruby中也是对象,因此它们可以有自己

ruby - 调用 View 文件时如何传递参数?

我使用Sinatra和Haml编写了一个网络表单,将用于调用Ruby脚本。一切似乎都很好,除了一件事:我需要从Sinatra/Ruby脚本向HamlView文件传递一个参数。这是我的部分代码:#!/usr/bin/envrubyrequire'rubygems'require'sinatra'require'haml'get'/'dohaml:indexendpost'/'doname=params[:name]vlan=params[:vlan]tmp=niltmp=%x[./wco-hosts.rb-a-n#{name}-v#{vlan}]iftmp.include?("Error

ruby-on-rails - 为什么 Foreman 在我按下 Control-C 之前不输出一些东西?

我刚接触Rails编程,看起来有两个程序可以用来在本地运行我的项目:rackup和foreman。我注意到的一个区别是工头不会输出一些我希望看到的东西,我会看看我是否运行rackup,直到我按ctrl+c关闭服务器。然后所有这些消息都会出现,就好像它们被隐藏了一样。这是有原因的吗?我怎样才能让工头更冗长? 最佳答案 Ifyouarenotseeinganyoutputfromyourprogram,thereisalikelychancethatitisbufferingstdout.Rubybuffersstdoutbydefau

ruby-on-rails - Rails 4 + append_view_path

我想在Railsgem的Controller中使用动态路径。我已经添加到moduleMyGemclassFooController{append_view_path"app/views/my_gem/#{wizard_name}"}...在View中我需要指定像这样的路径app/views/my_gem/#{wizard_name}/my_gem/foo/some.erb在Rails中以某种方式切割gem命名空间的相对路径,并获得类似的查找路径?app/views/my_gem/#{wizard_name}/some.erb#orfoo/bar/some.erb谢谢!更新:我知道,在E

ruby-on-rails - 脚手架 ActiveRecord : two columns of the same data type

另一个基本的Rails问题:我有一个数据库表,需要包含对特定数据类型的两个不同记录的引用。假设示例:我正在制作视频游戏数据库。我有一张“公司”表。我想为每个“视频游戏”条目指定一个开发者和一个发布者。我知道如果我想拥有一家公司,我可以这样做:script/generateVideogamecompany:references但我需要同时拥有这两家公司。我宁愿不使用连接表,因为给定的数据类型只能有两个,我需要它们是不同的。看起来答案应该很明显了,但是我在网上到处都找不到。 最佳答案 只是为了稍微整理一下,在您的迁移中,您现在还可以:c