问题标签 [helpermethods]

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.

0 投票
2 回答
583 浏览

ruby-on-rails-3 - 如何在模型中调用 ApplicationController 辅助方法?回报率

伙计们,我在 ApplicationController 中有一个辅助方法,如下所示

我想在我的模型(比如项目)中调用它,如下所示:

在这里,我得到了类似未定义方法`current_user'的错误 那么,如何在模型中调用这个方法呢?请帮我

0 投票
1 回答
1767 浏览

c# - 使用 stacktrace / stackframe 进行反射以获取方法名称和参数

在编写问题主题时,我遇到了其他一些最相关的帖子...导致 MSDN http://msdn.microsoft.com/en-us/library/system.reflection.parameterinfo.aspx

但我无法提取我需要的代码

我刚刚学习了如何使用基于 st 和 sf 的辅助方法获取方法名称,如下所示:

所以在我想要的每一种方法中,我只是把

该方法包含我对 AddToAppLog() 的调用,然后报告(通过 ListView)方法的名称,我只是添加了调用时间。

我想在这篇文章中解决两件事,关于我对该辅助方法的实现:我从 sf.GetMethod 收到的“FunctionName”很好,它抛出了给定方法的参数类型我喜欢这个想法,只是它包含 parameter.type 的父亲 + 祖父 + 曾祖父,但我只想要底部的类型:

这是最短的方法之一(:我试图通过玩 .Replace() 来通过它自己查看,所以是否有另一种方法可以将其剥离,或者实际上是同一系列中的另一种方法以我上面提到的方式提取它或我可以使用包含所有可能最常用类型的列表并使用 stringReplace 进行 foreach?

更重要的是,我如何获得 Method(parameterName) 以及?

非常感谢提前!

有人可以显示一个易于理解的简单语法获取参数名称的示例吗?

0 投票
1 回答
2205 浏览

ruby-on-rails - 如何将 ActiveRecord 对象作为参数传递给 Rails 中的辅助方法

许多辅助方法,例如 redirect_to、link_to 和 url_for,可以将 ActiveRecord 对象作为参数,而不是指定控制器和操作的散列。我在不同的文档中看到参数以不同的方式传递。它有时作为符号传递,有时作为实例变量传递,有时作为局部变量传递。

我对如何扩展不同的参数样式以返回 url 感到困惑。我知道遵循 REST 约定应该创建一个由控制器和操作构造的 url,但不确定 Rails 何时需要特定的参数样式来构造该 url。请帮助我了解将 ActiveRecord 对象作为符号、实例变量或局部变量传递的用例。根据方法调用是否有不同的要求?还是在 url 构造上存在潜在差异?

这里有些例子:

从 API 文档:

来自 Ruby on Rails 指南:

从 Rails 3 方式:

注意:经过进一步研究,在调用视图模板传递 :locals 哈希作为参数的情况下,form_for 似乎能够接受局部变量。键是可以在局部中使用的局部变量,值是模板中的实例变量。这是正确的理解吗?

0 投票
1 回答
134 浏览

ruby-on-rails - 表单中的复选框标签

我正在寻找以下内容:所有用户的数组(在这种情况下只有 6 个),在他们的名字前面有一个复选框,从而生成游戏的可选玩家列表。

当前代码:

我现在在我的控制器中有3.times { @game.participants.build }这有效地为我提供了 3 个文本字段,我可以在其中填写参与者 ID,以便在参与者表中记录(与游戏相关联)。

我现在已经四处寻找 1.5 小时,但我似乎无法找到正确的答案。我需要的是一种语法,它为我提供了所有当前用户(比如@users)的列表,并附有一个复选框。当我单击复选框时,它应该将其 ID 添加到参数中,并且我应该能够使用链接的参与者 ID 创建一个新游戏。但是,我遇到了一些附加到 check_box 的 ID 的问题,它似乎总是 1。我读过一些关于复选框对哈希来说很痛苦的东西,但我没有其他解决方案 atm。

我试过:

但我看不出有什么办法可以修复表格本身的一部分。

GamesController 代码(编辑):

描述起来非常模糊,因为我不确定如何实现这一点。

简而言之:check_box 应该包含循环中 user_id 的值。我现在正在使用 text_field 助手填写手动 ID,但我希望将复选框链接到视图中旁边的用户名。

任何指南/解决方案/提示?

谢谢

0 投票
1 回答
74 浏览

ruby-on-rails-3 - 如何阻止辅助方法应用于特定控制器?

我有一个 helper_method 允许链接从子域中转义。但是它正在影响我的videos_controller,因为当它不在事件控制器中时,它基本上似乎否定了'current_event'方法。

在过去的 4 天里,我尝试了几十种不同的方法来实现它,所以我仍然可以从子域中逃脱我的链接,但仍然允许 videos_controller 工作。

我认为实现这一目标的最佳方法是从辅助方法中排除videos_controller,但我不确定如何(或者它是否实际上是最好的前进方式——我显然是个菜鸟!)有什么建议吗?!相关代码如下:

Videos_controller

current_event 方法

0 投票
5 回答
10114 浏览

java - 为什么在 Java 中使用静态辅助方法不好?

我问是因为我正在尝试使用不允许您模拟静态方法的模拟框架(Mockito)。调查它,我发现很多博客文章说你应该尽可能少地使用静态方法,但我很难理解为什么。特别是为什么不修改全局状态并且基本上是辅助方法的方法。例如,我有一个名为的类ApiCaller,它有几个静态方法。静态方法的目的之一是执行 HTTP 调用,处理我们的服务器可能返回的任何自定义问题(例如用户未登录)并返回响应。为了简化,类似:

要使用它,我所要做的就是调用ApiCaller.makeHttpCall(url) 现在我可以轻松地将其设为非静态方法,例如:

然后使用这个方法调用new ApiCaller().makeHttpCall(),但这似乎是额外的开销。谁能解释为什么这很糟糕,以及是否有更好的解决方案使方法成为非静态的(除了删除关键字之外),以便我可以使用模拟框架来存根这些方法?

谢谢!

0 投票
1 回答
237 浏览

ruby-on-rails - 使用 devise 后,link_to 链接在其他视图中不起作用

我正在开发一个使用 devise 的 rails 应用程序。

我在应用程序中添加了其他模型,这些新视图中的链接(默认“link_to”)不起作用。例如,我搭建了一个新模型,并且这些视图的链接不会更改 URL(地址栏中实际 url 中的硬编码可以正常工作并呈现正确的视图 - 这些操作甚至在添加、编辑、删除数据时也可以工作) .

我检查了我的 link_to 代码 - 它们设置正确。即使链接到像 google.com 这样的另一个网站也不起作用。将鼠标悬停在链接上时,屏幕左下方会显示正确的 url,但单击后不会更改地址栏 url。

有谁知道可能是什么原因造成的?它快把我逼疯了!任何帮助深表感谢!

编辑:添加一些代码来说明:

布局下导航部分的链接到示例:

路线.rb:

0 投票
2 回答
597 浏览

ruby-on-rails - 调用之前的 Rails 辅助方法执行

我拥有的@test变量在我想要它之前得到了评估。这就是我的意图:我有一个按钮(现在是链接),旁边显示了一个变量。最初加载页面时,该值应显示为“空白”。当我单击该按钮时,页面应该刷新并且变量应该更改为其他内容,因为该按钮调用了一个辅助方法。

这是我在 home.html.erb 中的内容:

这是我在 my_proj_helper.rb (辅助方法)中的内容:

在 my_proj_controller.rb (控制器)中,我有这个:

我一定没有正确地做事。需要改变什么?

0 投票
4 回答
2237 浏览

c# - 如何在运行时操作用户定义类的属性?

我有一个巨大的用户定义类,其中包含很多属性,其中一些必须设置为某个值。

更具体地说,该用户定义类中所有字符串类型的公共属性必须在执行结束时“清空” 。

因此,我一一访问了所有公共属性(例如 300 个属性),并为它们分配了我的 300 行代码。我做了什么来解决这个问题,做了我需要的,但当然没有让我满意。

所以我决定在 C# 中编写一个Helper Method(作为Extension Method),它遍历对象实例的属性并动态访问/操作它们。我在这里看到了一些关于迭代属性的类似问题,但到目前为止还没有看到任何关于更改属性值的内容。这是我尝试过的:

评论部分必须是我设置变量的那一行,但这并不是一个真正的成功案例:)我将不胜感激。

0 投票
2 回答
965 浏览

ruby-on-rails - 在辅助方法中返回数组

为什么我不能在辅助方法中返回数组?

提前致谢