Rails 4:使用JavaScript/jQuery对用户输入调用ruby额外类方法
在我的Rails 4应用程序中,我创建了一个Rails 4:使用JavaScript/jQuery对用户输入调用ruby额外类方法,javascript,jquery,ruby-on-rails,ruby,ruby-on-rails-4,Javascript,Jquery,Ruby On Rails,Ruby,Ruby On Rails 4,在我的Rails 4应用程序中,我创建了一个app/extra文件夹,其中存储了一些自定义类方法 例如,在上面的文件夹中,我有一个process文件夹,在这个文件夹中,我有一个process\u base.rb文件和一些其他process\u method1.rb,process\u method2.rb,等等 然后,我在我的Post模型中声明这些方法,如下所示: def process_post @process_method1 = Process::ProcessMethod1.new
app/extra
文件夹,其中存储了一些自定义类方法
例如,在上面的文件夹中,我有一个process
文件夹,在这个文件夹中,我有一个process\u base.rb
文件和一些其他process\u method1.rb
,process\u 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
最后,在我的帖子#show
视图中,我使用:
<%= @post.process_post %>
这是非常好的工作,因为我得到了我需要的后页加载
我现在想做的是在Posts#new
视图中利用这些方法,并使用JavaScript将它们实时应用到正在创建的@post
例如,让我们假设process\u method1
计算@post.message
中的字符数,我希望能够在用户键入其消息时计算字符数,就像您在Twitter上撰写新推文时看到的一样
我不是一个经验丰富的Rails开发人员,我知道这个问题可能涉及面很广:我知道我不能期望有详细代码的完整答案,但我希望有任何能让我理解我应该进一步研究的方向的指针
也许我正在努力实现的目标有一个名字,知道这个名字足以在网上寻找相关资源
或者,直接在JavaScript中重新编写所有逻辑,而不是尝试在JavaScript中应用Ruby方法,可能更有意义
-----
更新:接近我想要实现的目标,但我想知道是否可以/应该重用app/extra
文件夹中定义的Ruby方法,以避免代码和逻辑重复
-----
任何形式的帮助都将不胜感激
我现在想做的是在Posts#new视图中利用这些方法,并使用JavaScript将它们实时应用到正在创建的@post
您可以创建一个响应JSON的新控制器操作,也可以使用命令来教现有控制器操作响应JSON和HTML
另见:和
例如。。在用户键入消息时计算字符数,这与撰写新tweet时在Twitter上看到的情况非常相似
在那个例子中,我推荐一个新的控制器动作,因为简单地计算字符数与创建一条新的tweet是完全不同的。您甚至可能需要一个完全独立的控制器。谢谢您的回答。我同意计数字符与创建新帖子是不同的。在那一点上,我真正不理解的是如何在同一个视图中从两个不同的控制器调用操作。如果这个问题有意义的话……哦,这就是javascript的用武之地。为了继续我们的示例,您将使用javascript向“字符计数”操作发送HTTP请求,例如,对于每次击键。javascript发送的异步HTTP请求称为XHRs(由于历史原因,X实际上代表XML,但您不必使用XML)。