- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在我的 Rails 4 应用程序中,我创建了一个 app/extra
文件夹,在其中存储一些自定义类方法。
例如,在上面的文件夹中,我有一个 process
文件夹,在这个文件夹中,我有一个 process_base.rb
文件和其他一些 process_method1 .rb
、process_method2.rb
等
然后,我在 Post
模型中声明这些方法,如下所示:
def process_post
@process_method1 = Process::ProcessMethod1.new
@process_method1.process self
@process_method2 = Process::ProcessMethod2.new
@process_method2.process self
end
最后,在我的 Posts#show
View 中,我使用:
<%= @post.process_post %>
这工作得很好,因为加载帖子页面时我得到了我需要的东西。
我现在想做的是在 Posts#new
View 中利用这些方法,并将它们实时应用到正在创建的 @post
,使用 JavaScript。
例如,假设process_method1
计算@post.message
中的字符数,我希望能够在用户输入时计算字符数他的消息,与您撰写新推文时在 Twitter 上看到的消息非常相似。
我不是一个非常有经验的 Rails 开发人员,我知道这个问题可能很广泛:我知道我不能期望得到带有详细代码的完整答案,但我会很感激任何能够让我理解其中的指针我应该进一步调查的方向。
也许我想要实现的目标有一个名称,并且知道这个名称是什么就足以在网上查找相关资源。
或者,也许直接用 JavaScript 重写所有逻辑会更有意义,而不是尝试通过 JavaScript 应用 Ruby 方法。
—————
更新:the question here接近我想要实现的目标,除了我想知道我是否可以/应该重用 app/extra
文件夹中定义的 Ruby 方法以避免代码和逻辑重复。
—————
任何形式的帮助将不胜感激。
最佳答案
What I would like to do now, is to leverage these methods in the Posts#new view, and apply them in real-time to the @post being created, with JavaScript.
您可以创建一个响应 JSON 的新 Controller 操作,也可以使用 respond_to 教您现有的 Controller 操作响应 JSON 和 HTML .
另请参阅:Action Controller Overview和 Working with JavaScript in Rails
For instance .. to count the characters as the user is typing his message, pretty much like what you can see on Twitter when you compose a new tweet.
在该示例中,我建议使用新的 Controller 操作,因为简单地计算字符数与创建新推文有很大不同。您甚至可能想要一个完全独立的 Controller 。
关于javascript - rails 4 : calling ruby extra class methods on user input with JavaScript/jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33598441/
我正在将 ansible 合并到我们的内部 RHN 卫星中。我有来自 Red Hat 的完全更新的 RHEL 7 基础 repo 、附加、补充、可选和 RHN 工具。当我们需要它们时,我还会将选定的包
我尝试将一些值发送到另一个 Activity 。 recyclerView.addOnItemTouchListener(new RecyclerTouchListener(getApplicatio
我有这个代码: Intent intent = new Intent(); intent.setAction(Intent.ACTION_PICK); intent.s
几天前,我一直在努力寻找一种方法来为我的闹钟使用自定义 Intent 。虽然我得到了明确的答案,但我必须根据一些唯一的 ID 来定制 Intent,例如。 setAction()还是有一些问题。 我这
通知正在提供旧值。我阅读了 stackoverflow 链接,但仍然不适合我: Notification passes old Intent Extras 我有一个 Activity A。当我在 Ac
我想写以下内容: result = [] for x in list(range(10)): if x%2 != 0: for a in [1,2]:
我在使用 mysql 5.5.12 时遇到了 Amazon RDS 的 IO 性能问题。有 2 种实例类型相似且价格接近: 超大数据库实例:15 GB 内存、8 个 ECU(4 个虚拟核心,每个 2
这里是 Android 的新手,我正在与一位资深人士就 bundle 和 Intent 进行辩论。这就是我一直在做的...... Intent intent = new Intent(this, Ta
我使用的是MinGW+MSYS, 我添加了 extra-include-dirs、extra-lib-dirs,但似乎没有任何东西可以帮助 cabal 找到 PCRE 库。以下是我尝试过的一些命令行,
我已将 CVS 中的一个模块 check out 到新安装的 Windows 7 计算机上。病毒扫描程序尚未安装。 后来,当我尝试进行更新时,收到以下错误消息: 无法将文件 CVS/Entries.E
Alpine镜像中的telnet在3.7版本后被转移至busybox-extras包中,需要使用apk单独安装。 现象 Alpine版本为3.8, 不再有指向busybox的telent
对lazy="extra"究竟能做什么,有没有很好的解释? 我看过的所有帖子都只是重复了一个事实,即它会引用 MyObject.ItsCollection.Count进入 select count(*
这个问题已经有答案了: Two semicolons inside a for-loop parentheses (4 个回答) Endless loop in C/C++ [closed] (12
我的包为包含的额外内容返回空字符串。不是 NPE,是实际的“空”值。关于为什么会发生这种情况的任何想法? 新 bundle String u = nul
在 es6 中,以下似乎是有效代码: function test(a1,{a=1,b=2} = {},) {} 注意函数参数中额外的,。我不确定这是否是一个错误,因为这个额外的 , 仅适用于解构分配。
我正在查看一个包含 .myClass a.extra{...} 和 .myClass a.extra:hover{...} 的 css 模板“额外”是什么意思? 最佳答案 extra 是类名。 因为你
我来自 Web 开发的前端世界,我们非常努力地尝试限制发出的 HTTP 请求的数量(通过合并 css、js 文件、图像等)。 对于数据库连接 (MySQL),显然您不希望有不必要的连接,但作为一般规则
问题是关于包含不必要的 header 以避免在子文件中多次调用它。这是场景,我有几个文件: srlogger.h srinterface.h srinterface.cc #include #inc
我有一个程序表现出奇怪的行为 #include #include using namespace std; class man{ int i ; public:
本文整理了Java中org.threeten.extra.YearQuarter类的一些代码示例,展示了YearQuarter类的具体用法。这些代码示例主要来源于Github/Stackoverflo
我是一名优秀的程序员,十分优秀!