草庐IT

Rails-Webpacker

全部标签

ruby-on-rails - 如何在 Rails 中编写和包含常规 ruby​​ 类

我正在学习Rails。我有一个Controller负责呈现来自用户上传的解析文件的数据。我不希望将数据存储在模型中的任何位置。我可以包含一个可以在我的Controller方法中实例化的类吗?这是我的意思的基本代码示例:这个Controller只包含一个方法:classMyController这是在实例化调用其方法时处理逻辑的类:classFileProcessorServicedeftestreturn'Thisisatest'endend我的问题:存放这个类的最佳位置在哪里?我怎样才能在我的Controller中引用这个类?关于在Rails中使用类这个特定主题的任何建议?常规ruby

ruby-on-rails - Activeadmin 渲染 'new' 在尝试覆盖创建 Controller 方法时给出无法找到没有 ID 的用户

我正在尝试在activeadmin中创建一个页面,用户可以在其中创建新的用户帐户。我正在使用以下代码覆盖我的用户模型的默认创建方法。当我尝试呈现new页面时,出现错误Couldn'tfindUserwithoutanID。为什么在尝试重新呈现new操作时会出现此错误?ActiveAdmin.registerUserdopermit_paramsdopermitted=[:email,:encrypted_password]permitted日志:StartedGET"/admin/users/new"for127.0.0.1at2014-03-0921:34:35-0500Proces

ruby - Rails before_action for ActionMailer 将使用邮件程序参数

假设我有一个发送不同电子邮件的邮件程序,但预计会使用相同的参数调用。我想为所有邮件操作处理这些参数。因此,调用一个before_action来读取发送到邮件程序方法的参数/mailers/my_mailer.rbclassMyMailer然后在我的Controller/服务中我在某处做MyMailer.actionx(*mailer_params).deliver_now如何访问before_actionblock中的same_param参数列表?编辑:我想重构/mailers/my_mailer.rbclassMyMailer还有这个重构/mailers/my_mailer.rbcl

ruby-on-rails - Heroku 无法检测到 rake 任务(LoadError : cannot load such file -- rspec/core/rake_task)

我正在使用travisCI部署到heroku,但出现此错误。这才刚刚开始。我有基本的railsRakefile,我有一个看起来像这样的文件,否则travis无法检测到rake任务:#lib\tasks\spec.rakerequire'rspec/core/rake_task'RSpec::Core::RakeTask.newtask:default=>:spec为什么会专门为heroku显示此错误?编辑-我有一个与给出的(更好的)答案相似的版本:beginrequire'rspec/core/rake_task'desc"Runallexamples"RSpec::Core::Rak

ruby-on-rails - 在 Ruby 中验证 Google ID token 的完整性

我正在将Google登录功能集成到Rails驱动的站点。我正在按照https://developers.google.com/identity/sign-in/web/backend-auth上的指南进行操作,但我遇到了一些问题。主要挂断是验证IDtoken的完整性段落。它概述了验证JWT的几个步骤,然后指出:Ratherthanwritingyourowncodetoperformtheseverificationsteps,westronglyrecommendusingaGoogleAPIclientlibraryforyourplatform,orcallingourtoken

ruby - 是否有等效于 Rails `try` 函数的 Elixir?

在Rails中,您可以执行以下操作:@user.try(:contact_info).try(:phone_number)如果@user和contact_info都不为nil,则返回phone_number。如果其中之一为nil,则表达式将返回nil。我想知道在Elixir中最惯用的方法是什么,因为@user和contact_info是结构。 最佳答案 我认为一种方法是使用模式匹配,所以它会是这样的:caseuserdo%{contact_info:%{phone_number:phone_number}}whenphone_num

ruby-on-rails - 弃用警告 : Dangerous query method (method whose arguments are used as raw SQL) called with non-attribute argument(s)

我将我的Rails5.1.4应用更新到了5.2.0。我的一个模型中有以下范围:scope:by_category,lambda{|category_slug|category_ids=Category.find_by(slug:category_slug)&.subtree_idswhere(category_id:category_ids)}由于该范围,Rails返回以下错误:DEPRECATIONWARNING:Dangerousquerymethod(methodwhoseargumentsareusedasrawSQL)calledwithnon-attributeargume

ruby-on-rails - 多态关联

如果您有多态的belongs_to关联,那么引用将添加所需的两个列:create_table:productsdo|t|t.references:attachment,:polymorphic=>{:default=>'Photo'}end将添加一个attachment_id列和一个默认值为“Photo”的字符串attachment_type列。这到底是什么意思? 最佳答案 这里是引用方法的文档:http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/Ta

ruby-on-rails - 这种弃用方法如何工作?

我试图理解这个调用:deprecate:new_record?,:new?它使用了这个弃用方法:defdeprecate(old_method,new_method)class_eval我不太了解这里使用的元编程。但是,这只是别名new_record?方法的另一种方式吗-所以实际上,new_record?仍然可用,但在您使用它时会发出警告?有人愿意解释一下这是如何工作的吗? 最佳答案 好的,所以这里发生的是old_method的所有功能都已被程序员移至new_method。为了使两个名称都指向相同的功能但注意弃用,程序员放入了dep

ruby-on-rails - rails : accessing field value from model method

刚开始学习Rails(三)。我正在努力寻找如何做一些可能完全微不足道的事情:从该模型的方法内部访问模型实例字段的值。以我为例:defformal_name@title+""+@forename+""+@surnameend所有三个@properties(它们都是数据库中表上的字段)都返回nil。他们不应该。令人难以置信的是,http://guides.rails.info/并未讨论如何访问字段,google什么也找不到。顺便说一句,我来自Django,这里的东西很明显。 最佳答案 @语法用于实例变量,这些实例变量(例如)在Contr