草庐IT

saved_model

全部标签

ruby-on-rails - 保存对象时 after_save 如何工作

如果我执行以下操作:@user.name="John"@user.url="www.john.com"@user.save如果我使用after_save@user.url="www.johnseena.com"@user.save当我这样做时会发生什么?我相信它应该保存值,因为“after_save”回调。 最佳答案 在我看来,如果你在after_save回调中调用save函数,除非你在开始处设置保护,否则它将陷入递归。像这样classUser但是,除了放置守卫外,您还可以使用update_columndefchange_urlup

ruby-on-rails - NoMethodError(#<Elasticsearch::Model::Response::Result> 的未定义方法 `highlight'

我将为我的ruby​​onrails项目使用Elasticsearch。当我搜索一些在我的文章中使用过多的词时,出现此错误。NoMethodError(undefinedmethod`highlight'for#)我在日志制作中得到了这个。这就是我所做的一切:在Controller中:#POST/search/articledefsearchrenderjson:Article.search(params[:query]),each_serializer:ElasticsearchResultsSerializerend这是我的article.rb模型#default_scope{or

ruby - 轨道 3 :how to generate models for existing database tables

我已经将我的database.yml配置为指向我现有的mysql数据库我如何从中生成模型?railsgeneratemodelexisting_table_name只给出一个空模型.. 最佳答案 你可以试试Rmre.它可以为现有模式创建模型,并尝试根据外键信息创建所有关系。 关于ruby-轨道3:howtogeneratemodelsforexistingdatabasetables,我们在StackOverflow上找到一个类似的问题: https://st

ruby-on-rails - rails : How to get has_many associations of a model

如何获取模型的has_many关联?例如,如果我有这个类:classA我想要这样的方法:A.get_has_many返回[B,C]这可能吗?谢谢! 最佳答案 您应该使用ActiveRecordreflections.然后你可以这样输入:A.reflect_on_all_associations.map{|assoc|assoc.name}这将返回你的数组[:B,:C] 关于ruby-on-rails-rails:Howtogethas_manyassociationsofamodel,我

ruby-on-rails - Rspec View 未定义方法 stub_model

我正在尝试找出这段代码有什么问题。即它找不到方法“stub_model”。试图为此寻找解决方案,但无论我在哪里看,我的文件似乎都很好。请看一下,也许我只是看不出一个简单的错误。非常感谢:)书籍模型在数据库中创建。我的View规范(spec/view/books_spec.rb)如下所示:require'rails_helper'describe'books/new'doit'displaysthebookform'dobook=stub_model(Book)assign(:book,book)renderexpect(rendered).tohave_selector("formla

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

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

ruby - rails 3 : Do i need to give return true in a before_save callback for an object. 保存工作?

ClassUserbefore_save:set_searchabledefset_searchableself.searchable=trueifself.status==:activeendend>>u=User.last>>u.savefalseu.save总是返回false。如果我删除before_save它会起作用另外,如果我在before_save中返回true,它也有效所以我需要在before_save中给出return语句吗?如果before_save返回false,ActiveRecord会保存一个对象吗?我在哪里可以看到有关回调及其工作流程的完整文档。提前致谢

ruby-on-rails - rails : Modifying a Model Generated by Scaffolding

如何修改使用建模生成的模型?例如,myModel模型原来有a、b、c列,但我现在想添加d列。 最佳答案 Rails3及更高版本使用以下代码:railsgeneratemigrationadd_fieldname_id_to_tablenamefieldname:stringrails2rubyscript/generatemigrationadd_fieldname_to_tablenamefieldname:string这不再有效并在Rails3中返回以下错误:ruby:Nosuchfileordirectory--script/

ruby - 导轨 4 : Append to a "has_many" relation without saving to DB

在Rails3中,可以做类似some_post.comments.append(some_comment)的事情其中一些帖子是“有很多”评论的模型实例。我在Rails4中面临的问题是append方法现在保存到数据库(如push和),我只需要“附加”而不将附加的对象保存到数据库。我们如何在Rails4中实现这一点?我不能使用some_post.comments.build(some_comment.attributes)因为我需要保留some_comment中已经存在的其他关系实例。 最佳答案 在Rails中优雅地做到这一点非常困难。

ruby-on-rails - 有没有办法使 before_save 成为条件?

我正在尝试在Rails应用程序中进行有条件的before_save,但它似乎不起作用。before_savemethod_call_to_runifself.related_model.some_method_that_returns_t_or_f?如果“some_method_that_returns_t_or_f”返回true,我希望它在保存对象之前运行该方法,否则我只希望它忽略before_save。 最佳答案 你可以使用:ifbefore_savedo_something,:if=>Proc.new{|model|model