Rails AJAX question

V

voice10

Hi all, It must be a very simple solution, but i'm just not getting it.
I want to display some picture continously on a page using Rail+AJAX.
Here is the snippet of code:

Controller
------------------------
def show
@albums = Album.find:)all)
@size = @albums.length
end

def show_next
@id = params[:cur_id].to_i
@size = params[:max].to_i
if ( @id == 0 or ir @id > @size)
@id = 1
end

@album = Album.find(@id)
@id += 1
end

show.rhtml
-------------------------------------
<html>
<body>
Continous picture display<br>
<%= periodically_call_remote:)update => 'mydiv',
:url => { :action => :show_next,
:cur_id => @id, :max => @size},
:frequency => 2 )
<div id="mydiv">
image will display here
</div>
</body>
</html>

show_next.rhtml
-------------------------------------

def show_next
<img width="600" height="200" src="<%= @album .image_url %>"/>
end

------------------------------------------------------------------------------------------------------------------

But the @id is not being updated. I think I need to store the @id
statically in the html page (may as hidden field), but is there any
better solution for this

thanks in avdvance
/Rick
 
A

anne001

I liked this tutorial, it has a nice example on the lack of memory of
web applications
http://www.troubleshooters.com/codecorn/ruby/rails/rapidlearning_rails.htm

I have been working with a controller code as such
if params.has_key? :id
@laststimobj=Stimuli.find(params[:id])
@stimuliobj=Stimuli.find(params[:id].to_i + 1)
else
@stimuliobj = Stimuli.find:)first)
end

with a form in the view
<%= start_form_tag:)action => "hello") %>
<%= hidden_field_tag "id", @stimuliobj.id %>
<p>
Name:
<%= text_field("responseobj", "name", "size" => "20") %>
<%= submit_tag("Name") %>
<% end_form_tag %>

you can use
render_text params.inspect
in your show_next method to see what your parameter hash is like. I am
not sure if an action redirect can transmit parameters.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,774
Messages
2,569,596
Members
45,143
Latest member
SterlingLa
Top