I see, but if you notice where the number for rating resides is inside
an external div, the final html goes like this

<div id="interested_users">
  <div id="interested_block" class="mark_1">
     1
  </div>
     <a href="/users/interested/1" class="remote" />
</div>

I want to update the interested_block only.

On Fri, Mar 20, 2009 at 8:34 AM, Jonathan Stott
<[email protected]> wrote:
>
> On Fri, 20 Mar 2009 08:05:35 -0400
> Rafael George <[email protected]> wrote:
>
>>
>> Hi guys,
>>
>> I have a problem regarding doing some javascript effects with
>> Merb/jQuery. I'm porting an application from PHP.
>>
>> I will show so code because i think it's better:
>>
>>
>> module Merb
>>   module QuestionsHelper
>>     def link_to_interested_user(question)
>>       if session.user
>>         interested = Interest.get(session.user.id, question.id)
>>         if !interested.nil?
>>           return 'interested!'
>>         else
>>           return link_to 'interested?', url(:user_interested, :id =>
>> question.id), :class => 'remote'
>>         end
>>       else
>>         link_to 'interested?', url(:login)
>>       end
>>     end
>>   end
>> end # Merb
>>
>> .interested_mark{ :id => "mark_#{question.id}" }
>>   = question.interested_users
>>
>> = link_to_interested_user(question)
>>
>> Ok, i want to do two things, first i want to show the 'indicator'
>> progress gif with jQuery.
>>
>> $("#remote a").click(function() {
>>   $("#indicator").show();
>> });
>>
>> The second i want to do, is that when somebody hit the link for the
>> 'interested?' it's make a ajax call to the action listed in the helper
>> method, so it can increase it's interested
>> for that user, this is the code for the action
>>
>> def interested(id)
>>     @question = Question.get(id)
>>     raise NotFound unless @question
>>
>>     interest = Interest.new
>>     interest.question = @question
>>     interest.user = session.user
>>     interest.save
>>     render @question, :layout => false
>>   end
>>
>> And view for the action
>>
>> = partial '/questions/intereted_user', @question
>>
>> I'm reusing the same part above, or at least trying because the page
>> get's blank when i hit the 'interested?' link.
>>
>> I set the render layout to false, because i just want to update the
>> block where the number resides, the problem is that as you can notice
>> the id for the block i want to update with the ajax call it's dynamic
>> "mark_#{question.id}", so how can i know which is in the jQuery call.
>>
>> Thanks in advance.
>>
>>
>>
>> --
>> Rafael George
>>
>
> You know (or can determine) the id of the question via looking at the link 
> the jQuery is anchored to.
>
> $("#remote a").click(function() {
>  $("#indicator").show();
>  $(this).attr("href");
>  false;
> });
>
> In the code above, $(this) is the link in question, and so .attr("href") is 
> the URL it points to.  From there, you should be able to determine the 
> question.id and so update the appropriate counter.
>
> The 'false' at the end indicates that normal handling of the event (i.e. 
> following the link you clicked on to the new page) should be stopped.
>
> Regards,
> Jon
>
>
> >
>



-- 
Rafael George

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"merb" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [email protected]
For more options, visit this group at http://groups.google.com/group/merb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to