草庐IT

开发设计

全部标签

ruby-on-rails - 如何设计销毁 session 并从 Controller 注销?

设计销毁session并从Controller注销?ifsomething_is_not_kosher#1.logthisevent,2.sendnoticeredirect_todestroy_user_session_pathandreturnend还试过:ifsomething_is_not_kosher#1.logthisevent,2.sendnoticeredirect_tocontroller:'devise/sessions',action:'destroy',method::deleteandreturnend错误是Noroutematches[GET]"/users

ruby - 使用没有 Rails 的 ruby​​ 进行 Web 开发?

出于我无法控制的原因,我的任务是进行不使用Rails或任何其他重量级框架(例如Merb)的RubyWeb开发。我想知道是否还有其他人遇到过这个问题,并且可以推荐最佳实践或描述此类问题最佳实践的资源。我想避免可怕的事情out.print(''+some_data+'')Web开发风格。一位同事建议将Rack作为一个轻型框架,但文档很粗略,而且似乎还没有在市场上得到证实。 最佳答案 看看Sinatra.这是一个框架,但没有那么重。 关于ruby-使用没有Rails的ruby​​进行Web开发

ruby-on-rails - 我应该忽略 schema.rb 因为扩展在开发/生产操作系统上不同吗?

我的数据库使用PostgreSQL。我在Mac上开发,需要这一行:#db/schema.rbonMacenvironmentenable_extension"plpgsql"但是,在Linux上不需要扩展。在这种情况下,我们是否应该忽略schema.rb并通过db:migrate为开发和生产环境生成它? 最佳答案 据我所知,问题是自动生成的schema.rb在生产和开发中会有所不同,因此会导致git中的文件发生变化,因为这一行。该行是由mac上的postgres适配器生成的吗?如果它是手动添加的,我会尝试将它放在其他地方,也许在初始

c - Ruby C 扩展开发人员的命名约定

在用C为ruby​​编写扩展时,我对遵循正确的命名约定很感兴趣。具体来说,我指的是将_p添加到谓词的函数名称以及为变量添加前缀m代表模块,c代表类等等。例如,如果我们想在C语言中定义一个像下面这样的谓词方法,我们应该在定义该方法的函数中使用_p作为后缀。classMyClassdefawesome?trueendend在C中:staticVALUEmy_extension_my_class_awesome_p(VALUEself){returnQtrue;}voidInit_my_extension(void){VALUEcMyClass=rb_define_class("MyClas

ruby-on-rails - 用于开发的本地 Gem 路径和用于生产的远程 Git repo

我有一个正在本地开发的gem,它被一个项目使用。如果我在中使用path指定gem的位置,我可以进行更改并且项目会选择新代码:gem'example',:path=>"~/path/to/gems/example"但是,当我推送到Heroku时,bundle失败,因为Heroku无法访问我本地计算机上的gem源。所以我可以将gem源推送到远程仓库并将gem源指向那里:gem'example',:github=>'example/example',:branch=>'example_feature'但是我现在需要将更改推送到这个repo,然后更新gem以在我的项目中获取新的更改:$cd~/

ruby-on-rails - 有哪些对 Rails 开发有用的 Emacs 特性

哪些Emacs功能、包、附加组件等可以帮助您进行日常的RubyOnRails开发? 最佳答案 两者的先前版​​本emacs-rails模式,和Rinari(Rails开发的两种最流行的模式)功能非常丰富,但又臃肿又笨重。为了保持一个小巧、干净、可靠、功能强大且可破解的核心,Rinari将避免许多“花里胡哨”的功能。然而,这并不是说这些额外的好东西可能没有用。这个页面应该作为链接到一些其他工具/包的链接点,这些工具/包通常与Rinari和Rails一起工作。如果您对添加到此列表或Rinari的新功能有任何想法,请通过http://gr

ruby-on-rails - 设计/Omniauth 失败 : How to debug it?

尝试“使用Google登录”后,我在日志中看到此错误:ProcessingbyUsers::OmniauthCallbacksController#failureasHTML我可以看到通过URL(在日志中)发送的来自谷歌的所有数据,包括用户电子邮件和姓名。那么会出什么问题呢?我的回调甚至没有被执行。我只会被重定向到我网站的登录页面。而且我很确定一切都配置正确,因为几周前它运行良好。我不认为我改变了什么。Facebook登录仍然正常。关于如何调试此故障的任何想法?除了那些充满参数和值的长URL之外,日志中没有其他内容。只有INFO消息。上面发布的是唯一一个说失败的。更新我向Control

ruby-on-rails - rspec-mocks 的 double 被设计为只持续一个例子

我有一个关于如何在示例之间共享rspec-mocks的double的问题。我正在使用rspec-mocks3.1.3编写一个新的Rails应用程序。我习惯于使用旧的(我有一个模型方法:defself.from_strava(activity_id,race_id,user)@client||=Strava::Api::V3::Client.new(access_token:'abc123')activity=@client.retrieve_an_activity(activity_id)result_details={race_id:race_id,user:user}result_

ruby-on-rails - 使用设计上下文的 "super"和 "super do |u|"之间的区别

好吧,我想我得到了什么superdoes独立的。基本上在设计中,如果Users::RegistrationsController,然后在任何行动中,都有一个super将首先调用父级中相同命名操作的逻辑Devise::RegistrationsController,然后调用你写的内容。换句话说...classDevise::RegistrationsControllerdefnewputs"thisisintheparentcontroller"endendclassUsers::RegistrationsController"thisisintheparentcontroller"#=

ruby - 为什么我应该将开发依赖项添加到我的 gemspec

rubygems想知道我的开发依赖项是什么,这似乎是一个奇怪的功能,到目前为止,我从未见过它用于在运行gem测试时实际加载这些依赖项。 最佳答案 如果有人出于某种原因决定破解您的gem,例如他们在Github上fork它以向其添加功能(他们可能想贡献),如果他们知道您的gem需要哪些开发依赖项(例如测试框架、模拟工具等),这会有所帮助。如果您将bundler与gemspec命令一起使用,它将挂接到您的gemspec依赖项并在您运行时安装开发依赖项以及运行时依赖项bundleinstall这样您就不必手动安装这些gem。gem命令还可