【发布时间】:2009-12-09 00:34:35
【问题描述】:
我希望在文本字段的内容发生更改时或每 n 秒自动调用 rails 方法。我怎样才能做到这一点? 该方法在对象的模型定义上。 另外,如何获取文本字段的内容?
谢谢。
【问题讨论】:
标签: ruby-on-rails ajax
我希望在文本字段的内容发生更改时或每 n 秒自动调用 rails 方法。我怎样才能做到这一点? 该方法在对象的模型定义上。 另外,如何获取文本字段的内容?
谢谢。
【问题讨论】:
标签: ruby-on-rails ajax
你也可以使用内置的 rails helpers 并编写类似的东西
<%= periodically_call_remote :url => {:controller=>'mailbox',
:action => 'get_newest_messages'},
:frequency => 15
%>
然后在指定的控制器中可以调用模型所需的方法。
【讨论】:
这将需要使用一些 javascript。我使用jQuery 库来帮助我。我会在网络('Google')“rails jquery”中搜索一些教程。
或者,如果您更喜欢其他库,请查看 Best javascript libraries to work with rails?
一旦您的 javsacript 库就位,您将需要某种脚本来监控输入。一种方法是使用keyup 事件来监听活动。然后,此脚本将通过 ajax 将您的数据发布到服务器。
【讨论】:
observe_field("content", :frequency => 1, :function => "alert('Element changed')") 会运行一些javascript 使用observe_field("content", :frequency => 1, :url => "controller/method/path" :with => "'text=' + value" )。这会将值传递给控制器中的方法。然后,您可以调用您的模型并将任何内容返回到您的视图中。