问题标签 [view-helpers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails-3 - Rails3 引擎助手覆盖
所以我有一个 Rails 3.0 引擎(gem)。
它在 app/controllers/advanced_controller.rb 中提供了一个控制器,在 app/helpers/advanced_helper.rb 中提供了一个相应的助手。(当然还有一些观点)。
到目前为止一切顺利,控制器/帮助程序/视图只是在使用 gem 的应用程序中自动可用,太好了。
但我想让本地应用程序选择性地覆盖引擎中 AdvancedHelper 的辅助方法(理想情况下能够调用“超级”)。这是一件非常合理的事情,想要允许,对,一个完全合理的(我认为很常见的)设计?
问题是,我似乎找不到任何方法让它工作。如果应用程序定义了它自己的 app/helpers/advanced_helper.rb (AdvancedHelper),那么引擎中的那个永远不会被加载——所以如果你想替换那里的所有辅助方法(不调用 super),这将起作用,但如果你只是想超越一个。
所以这实际上是有道理的,所以我选择了一个不同的名字。让我们称我的本地人为 ./app/helpers/local_advanced_helper.rb (LocalAdvancedHelper)。这个助手确实被加载了,如果我把一个不在原始引擎的 AdvancedHelper 中的方法放在那里,它就可以用于视图。
但是,如果我在其中放置一个与引擎的 AdvancedHelper 中的方法同名的方法......我的本地方法永远不会被调用。就像 AdvancedHelper(来自引擎)在调用链中比 LocalAdvancedHelper(来自应用程序)更早。事实上,如果我打开调试器并查看 helpers.ancestors,这正是正在发生的事情,它们与我在祖先链中的顺序相反。因此,AdvancedHelper(来自引擎)理论上可以调用“super”来调用 LocalAdvancedHelper(来自应用程序)——但这当然没有多大意义,你永远不想这样做。
但我想做的……我做不到。
任何人都有任何想法,有没有办法提供这种设计,这对我来说似乎完全合理,应用程序可以选择性地覆盖引擎中的辅助方法?
任何人都对它为什么会这样工作有任何解释吗?我尝试查看实际的 Rails 源代码,但很快就迷路了,围绕这些东西的代码非常抽象地分散在一堆地方。
这是一个非常深奥的问题,我很悲观,任何人都会有任何想法,希望你能给我惊喜!
== 更新
好的,为了了解 Rails 代码的哪一部分在哪里被调用,我在每个助手上放置了一个“def self.included ; debugger ; end”,然后在调试器中我可以引发异常以查看堆栈跟踪。
那仍然没有真正帮助我深入了解它,Rails 代码到处乱跳,非常混乱。
但是很明显,与其他助手相比,不同的rails代码调用了具有“标准”名称的助手(即WidgetHelper),以包含在给定控制器的“主”视图助手模块中。我想知道我是否给助手一个不同的名称,然后使用(“helper OtherNamedAdvancedHelper”)手动将它包含在我的控制器中,如果这会改变加载顺序。
php - 视图脚本无法识别 zend 框架中的视图助手
我的问题是当我从视图脚本调用视图助手时,尽管我通过这一行正确地将所有信息路径添加到配置文件中,但它不能被调用:
我也在引导文件中注册了帮助程序
但它仍然打印出此错误消息是徒劳的:
它没有按预期包含自定义视图帮助程序路径;
视图助手的路径是:library/ZF/View/Helper/OutputHelper.php
ruby-on-rails - 从 Helper 渲染会产生“缺少模板”错误
在我的优惠券视图中,我调用了 helpers/coupons_helper.rb 中的一个方法,该方法又调用了一个partial,目的是返回它的输出。但我收到“缺少模板”错误。以下是相关代码:
错误信息是:
问题原来是“new_include”中“render”中的前导“_”。问题解决了。
zend-framework - 在 Kohana 中查看助手
我正在尝试找出一种方法来执行以下操作:
我想做一个动作,它将通过 ajax 加载,并且在页面重新加载时它也是页面的内部部分。
我ZEND
通过使用View Helper在框架中知道这一点,但不知道该怎么做Kohana
我是Kohana的新手。
编辑: 我正在尝试做的示例http://www.espncricinfo.com/west-indies-v-india-2011/engine/current/match/489228.html?CMP=chrome
在上面的网页中,当整个网页被加载时,实时计分板也被加载。但是当你点击“刷新记分牌”按钮时,只有实时记分牌会通过 ajax 被替换。
我想创建一个动作说action_scoreboard
,它将用于带来记分牌数据。并action_index
加载整个页面,但在action_index
我需要调用的视图中action_scoreboard
。
谢谢
ruby-on-rails - 在模型中使用 Rails 助手
可能重复:
访问rails中模型的视图助手
我知道这可能不是我应该经常做的事情,但我想在模型中使用助手。
我正在报表模型中生成电子表格,并希望time_ago_in_words
在ActionView::Helpers::DateHelper
这是可行的,还是我应该在视图中生成它?
ruby-on-rails-3 - 命名空间中所有视图的助手
有没有办法创建一个视图帮助文件,该文件可用于命名空间中的所有视图?与 application_helper.rb 类似,但仅适用于给定的命名空间。
具体来说,我有一个名为“office”的命名空间。我想设置一个视图助手,它可以被“office”命名空间中的任何视图访问。
谢谢。
zend-framework - Zend Framework URL 视图助手没有显示完整的 url?
我有一个如下所示的网址:
在我的分页器视图脚本中,我正在调用 URL 视图助手以将页码添加到 url:
传递false
应该使 URL 不会被重置,但生成的 URL 不包含原始查询参数:
...它应该是:
我究竟做错了什么?
node.js - Express.js 中的 EJS - Express Helpers 不工作 - 需要中的(应用程序)
我正在使用带有 express.js 的 EJS 模板引擎,并且我想使用视图助手。我在 github 上找到了这个:https ://github.com/tanema/express-helpers ,但是当我尝试使用它时,我得到了这个错误:
而这一行是 app.js 上的第 12 行:
如果我成功了
它确实会引发错误,但也不起作用。
我的 app.js 文件顶部如下:
想法?
提前致谢!
ruby-on-rails-3 - 如何在助手的子类中捕获块?
我正在尝试执行以下操作:
要么给方法一个字符串(或符号),要么给heading
一个块。
在视图中:
(注意getmh
只是为了这个例子,PModuleHelper
是由我的应用程序中的其他进程返回的,所以不需要对此发表评论或建议制作heading
一个普通的辅助方法,而不是类方法)
不幸的是,我总是收到以下错误:
带有capture(&block)
呼叫的线路号。
如何capture
在自己的助手类中使用?
ruby-on-rails-3 - Rails select_collection
我有这样的东西:f.collection_select with options
我需要修改该 collection_select 的标准行为(我需要在那里添加一些选项)
我应该在哪里做?
我认为这段代码不起作用,但你会理解这个想法