开发者

Sending changing params through periodically_call_remote

I'm using periodically_call_remote to update a portion of a page that contains a list of objects. I send along with the url a param containing the created_at date for the most recent object in the database. The action that is called then get all the objects that have been created since then and renders a partial which displays them at the top of the list.

The problem is that I can't seem to figure out how to make it so that the next time periodically_call_remote triggers it sends along the created_at date for the new most recent object (if there is one). I tried putting the periodically_call_remote inside the partial that is being rendered but that caused all sorts of problems (This explains why you shouldn't do that).

Is there some way I can make periodically_call_remote send along a new param each time it's called? As it 开发者_StackOverflowstands right now it just sends the same one over and over which means that new objects get rendered more than once.


Hackery you say? :)

Store the parameter in a hidden div. You can access the contents of that div via Javascript, which periodically_call_remote will accept as part of the :with option.

When the parameter changes, simply update the contents of the hidden div as part of your controller action.

So, for example..

<div id="date_to_check_from" style="display:none;"><%= @initial_created_at %></div>

<%= periodically_call_remote :url => path_to_controller(@normal_params), :with => "'date_to_check_from=' + $('#date_to_check_from').html()", :method => :get, :frequency => 10 %>

That will get you params[:date_to_check_from] in your controller. Then update however you want, e.g.,

render :update do |page|
   page << "$('#date_to_check_from').html('#{@new_date_to_check_from}');
end


It's possible to do some hackery, but I recommend that you start looking into writing your own JavaScript code to perform AJAX requests. Rails' helpers like periodically_call_remote aren't meant to be used in such complex situations.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜