草庐IT

Line-Through

全部标签

ruby-on-rails - has_many :through, 缓存、touch 和 counter_cache 的问题

我的应用程序中有很多has_many:through关系。我extensivley显示与此相关的信息,例如连接对象的数量。每当用户更新关系时,连接表都会被修改,我可以捕获这个我的清道夫。问题是,连接表条目是删除,而不是销毁。如果关系消失了,我没有合理的方法来检测它,并且我正在显示来自缓存的误导性信息。像:touch=>true或:counter_cache=>true这样的东西都是部分工作的。如果更新或创建关系,它会增加。但是,如果用户删除关系,则什么也不会发生。:counter_cache被破坏,:touch不触发。垃圾解决方案是在保存主模型时在Controller中调用.touch

ruby-on-rails - rails 5 : How to pass collection_select values through strong_params in a fields_for?

我已经尝试了所有视频和文章,但仍然找不到将fields_forcollection_select值加入strong_params白名单的解决方案。我花了好几天时间想弄明白(并问了很多人)。如果有人能花时间帮助我,我将不胜感激!我在List和Topic之间有一个多对多的关联,List_Topic充当连接模型。使用form_for,我为List的一个实例(@list)创建了一个表单,然后是一个fields_for:list_topics。在字段中,我创建了一个collection_select,它由Topic.all填充。在我的列表Controller中我有:classListsContr

ruby-on-rails - Rails has_many :through association

我正在尝试创建一个Rails应用程序,用户可以在其中创建事件并邀请参与者加入其中,并且需要您的帮助!我一直在兜圈子,尝试了一些东西,但似乎根本不对,这现在让我发疯了!!我正在使用Rails4。您将如何设置事件模型?Userhas_many:eventsthrough:meeting//fortheparticipants?has_many:events//fortheorganizer?Eventbelongsto:userhas_many:participants,class_name:"User"Participantbelongsto:userhas_many:eventsthr

ruby-on-rails - 使用 `:has_many :through` 记录关联处理复选框表单

我正在使用RubyonRails3.0.7,我想在我的View文件中使用复选框字段(即,用于新建和编辑表单)和:has_many:through记录关联.我看到使用has_and_belongs_to_many记录关联可以轻松实现这种事情,但是是否可以轻松使用第一个提到的关联?如果可以,该怎么做? 最佳答案 Dogbert提供的链接是手动操作的好方法。但是,如果您决定使用SimpleForm你得到了内置的功能。使用前面提到的文章中的示例,您可以::check_boxes%>这个例子当然非常简单,但它应该可以工作。祝你好运!

ruby-on-rails - Rails has_many :through association. 删除与链接的关联?

我有一个事件模型和一个通过参加者模型连接的用户模型。我已经弄清楚如何以经过身份验证的用户身份“参加”事件。但我想不通的是从事件中“退出”的好方法。我敢肯定这是我遗漏的一些微不足道的事情,但是有什么比询问一些微不足道的事情更好的进入StackOverflow的方法呢?哦,我一直在搜索railscasts和SO几个小时......谢谢!views/events/show.html.erbAttendees::post,:class=>'btnbtn-danger'%>'btnbtn-danger'%>/controllers/events_controller.rbdefattend@ev

ruby - 为什么我不能使 "OpenSSL with Ruby"和 "Command line OpenSSL"互操作?

在尝试设置可互操作的加密系统时,我在简单的“概念验证”期间遇到了一个奇怪的情况。我用Ruby编写了以下代码:从我的文件系统上的虚拟文本文件创建一个加密文件解密加密文件与原文件对比,是否相同代码如下:require'openssl'require'base64'#Readthedummyfiledata=File.read("test.txt")#Createanencryptercipher=OpenSSL::Cipher::AES.new(256,:CBC)cipher.encryptkey="somethingreallyreallycomplicated"cipher.key=k

ruby - 在 Ruby on Rails 中计算/存储 line_item 总数的最佳方法是什么?

我有line_items和unit_price和quantity属性(以及其他)。在RubyonRails中对此进行建模的最佳方法是什么?现在,我的LineItem模型中的许多函数都遵循这种模式:deftotal_priceunit_price*quantityend这行得通,但我想知道:这种方法是否有用,或者当有100万用户同时使用它时,它是否会使我的应用崩溃?另一种方法是将total_price存储为数据库字段,每次保存后都会更新类似这样的内容:after_save:update_total。不过,我不是冗余数据库列的忠实拥护者。我想将它们保持在最低限度。这样做的专业方法是什么?

ruby-on-rails - 播种 has_many :through relationships in Rails 的正确方法

我已经通过数据库迁移到has_many:通过帖子、类别和分类关系之间的关联。架构:create_table"categories",force::cascadedo|t|t.string"title"t.integer"subscribers"t.integer"mod"t.text"description"t.datetime"created_at",null:falset.datetime"updated_at",null:falseendcreate_table"categorizations",force::cascadedo|t|t.integer"category_id"t

ruby - 就地进度输出到控制台 : How to empty the current line

我有一个Ruby脚本,它使用回车符在同一行输出进度消息,如下所示:print"\r#{file_name}processed."例如,输出从'file001.html'processed.更改为'file002.html'。处理等等,直到脚本完成。我想用Done.替换最后的进度消息,但我不能只写print"\rDone."因为那段代码输出像这样:Done.99.htmlprocessed.我想我必须清空最后一条进度消息之后的行,然后打印Done.。我该怎么做? 最佳答案 你需要发送terminfo对应的字节序列使用\r后的变量clr

ruby-on-rails - Activerecord 关联问题 : getting has_many :through to work

我正在用RubyonRails构建一个应用程序,我包括了我的3个模型(及其迁移脚本)来展示我正在尝试做什么,以及什么不起作用。概要如下:我的应用程序中有属于团队的用户,每个团队可以有多个教练。我希望能够提取适用于用户的教练列表。例如,用户A可能属于团队T1和T2。T1和T2队可以各有四名不同的教练,以及一名共同的教练。我希望能够通过简单地说:u=User.find(1)coaches=u.coaches这是我的迁移脚本,以及我模型中的关联。我在设计中做错了什么吗?我的联想是否正确?classCreateUsersnilt.column:firstname,:string,:defaul