草庐IT

template-mixins

全部标签

ruby-on-rails - rails : calling yield in a partial template?

我有时会在部分erb模板中看到这个:其他时候根本没有yield。在局部调用yield有什么好处? 最佳答案 我过去曾使用过它,如果我有一个可以从不同页面调用的部分,可能需要页面中的一些上下文内容。我的一个用例是菜单。我有我的库存菜单项,但后来我有一个yield(:menu),这样用户加载管理页面的内容,我就可以从页面添加菜单项,而不是在其中编写条件语句部分本身。这是一些伪代码:_menu.haml%ul%liHome%liUsers%liRoles=yield(:menu)用户.haml-content_for:menudo%liA

ruby - 理解可比较的mixin和可枚举的mixin

我是新手,正在学习ruby​​。想更好地理解所问的问题。我不明白comparablemixin和enumerablemixin的用法。我的意思是,当我们需要使用它们时,我们不会将它们包含在我们的类(class)中,对吗?如果我们想比较两个对象,我们只需写x>y。那么显式使用它们有什么用呢? 最佳答案 好问题阿卡什!有时候,如何比较两个对象并不“简单”!如果你有一个Dog类怎么办?你如何比较两个Dog实例?比较应该基于什么?仅仅比较他们的名字就够了吗?他们的品种?他们的DNA?这真的取决于你。这就是您可以在模型中包含Comparabl

ruby-on-rails - ActionView::Template::Error(application.css 未预编译):

我以前在heroku上开发过几个应用程序,从来没有遇到过这个错误:ActionView::Template::Error(application.css未预编译):我最新的推送甚至没有对application.css文件进行更改。这是怎么回事?我看到文章说将production.rb中的一行更改为:#Don'tfallbacktoassetspipelineifaprecompiledassetismissedconfig.assets.compile=true但这不会减慢一切吗?为什么会突然出现这个错误?修复它的最佳方法是什么?编辑:我应该注意到它在开发中工作得很好。

ruby-on-rails - Ruby:Mixin,它添加了动态实例方法,其名称是使用类方法创建的

我有以下内容:moduleThingdefself.included(base)base.send:extend,ClassMethodsendmoduleClassMethodsattr_reader:thingsdefhas_things(*args)options=args.extract_options!#RubyonRails:popsthelastargifit'saHash#Getalistofthethings(Symbolsonly)@things=args.select{|p|p.is_a?(Symbol)}includeInstanceMethodsendendm

ruby-on-rails - RSpec Controller 测试 : missing template on create

我有一个有趣的情况。我正在测试以下简单的创建操作:#willonlybeaccessedviaAjaxdefcreateclick=Click.new(params[:click])click.save#don'treallycarewhetheritssuccessorfailureend然后我有以下非常简单的Controller规范:require'spec_helper'describeClicksController,"creatingaclick"doit"shouldcreateaclickforevent"doxhr:post,:create,:click=>{:even

ruby - 在 Ruby 中,当没有正确的英语 "<verb>able"时,mixins 的命名约定是什么?

示例:我有一个Person类和一个Role类。我想将Role和Person中的角色功能提取到混合中。我得到了两个mixins:Actable包含在Role中,Adaptable用于Person。我有时想不出合适的英文单词。在上面的例子中,适应性似乎更适合角色而不是人,因为角色可以适应,因此是适应性强的。一个更好的名字是versatile但这打破了mixin名字以...able结尾的惯例。(虽然它仍然是一个形容词。)另一个例子是当我想添加一个允许检查的模块时,如果一个人被允许查看其他人。你如何找到以...结尾的名字?Viewable似乎不合适,可以查看的人应该是可见的。我现在坚持使用sh

Ruby mixin 给出未识别的常量错误

在irb中,我这样做classTextincludeFileUtilsend我得到:NameError:未初始化的常量Test::FileUtils如果我这样做:包含FileUtils(即现在的类)一切正常。什么给了? 最佳答案 您需要确保Ruby了解FileUtils模块。默认情况下不加载该模块:>>FileUtilsNameError:uninitializedconstantFileUtilsfrom(irb):1>>require'fileutils'=>true>>FileUtils=>FileUtils不要太担心错误Na

sql - ActionView::Template::Error (PG::UndefinedFunction: ERROR: operator does not exist: integer ~~ 未知

为了在Heroku中使用,我从MySQL切换到了PostgreSQL。现在我的搜索不起作用。无法弄清楚运营商出了什么问题。ActionView::Template::Error(PG::UndefinedFunction:ERROR:operatordoesnotexist:integer~~unknown.2014-11-11T19:59:58.082607+00:00app[web.1]:ProcessingbyAllListingsController#search_listingsasJS2014-11-11T19:59:58.105074+00:00app[web.1]:4:

ruby - 如何找到 "essential"方法来提供 Ruby mixins 的接口(interface)?

问题标题的可怕之处是我要解决的问题。示例:在Ruby中,Enumerable是某种意义上的接口(interface),我可以实现某些东西并将其记录为:defmyfancymethod(please_pass_me_an_Enumerable_here)但另一方面,Enumerable是一种接口(interface)的放大,它以#each作为其方法之一。如果我有课classFoodefeach:barendend对于那些不熟悉Ruby的人来说,如果你在一个类中混入Enumerable模块,你会得到许多只依赖于#each方法来提供诸如#map之类的方法,#select等我可以说我的Foo类

ruby - 模块的实例变量是否在类与 mixin 之间共享?

我想知道Ruby模块的实例变量在多个类中的行为如何“混合”它。我写了一个示例代码来测试它:#HereisamoduleIcreatedwithoneinstancevariableandtwoinstancemethods.moduleSharedVar@color='red'defchange_color(new_color)@color=new_colorenddefshow_colorputs@colorendendclassExample1includeSharedVardefinitialize(name)@name=nameendendclassExample2includ