Dave,

My goal is to use ajax to display the partial associated with the button
> clicked eg click the “A” button and display “_anno_1”.  Cant figure out
> how to get the information in the variables to the partial.  I cant use
> set_format_for_presentation again as it will reshuffle tha attributes
> and responses will no longer match the order the displayed answers are
> in.
>

I should admit that I was lazy to follow all your code. :-) but I got your
idea. In order to display the partial associated with the button clicked,
use CSS and Javascript.

   -  Add CSS display attribute (something like *#activeContent{display:
   block;}*).
   - Add an *onclick* action to each button that "*activates*" a partial
   associated with the button so clicked and "*deactivate*" the other
   buttons
   - To deactivate the other partials, set *#activeContent*'s *style.display
   = 'none';*.

This will surely help you.

---
Edmond
Software Developer | Baobab Health Trust (http://www.baobabhealth.org/) |
Malawi

Cell:  +265 999 465 137 | +265 881 234 717

*"Many people doubt open source software and probably don’t realize that
there is an alternative… which is just as good.." -- Kevin Scannell*



2010/8/31 Dave Castellano <[email protected]>

> Hello all,
>
> I am still very new to programming and wonder if I could get some help.
> I have tried to figure this out myself but still having trouble with
> some of the concepts.  I’ll do my best to explain the problem and
> include the code.  I may be completely off track, so ANY direction
> offered would be  deeply appreciated.
>
> I have a question model / object which consists of a question, answers,
> and responses to the answers.  In the model  have the following method
> to shuffle the answer –annotation(response) pairs so they don’t look the
> same every time they are viewed.
>
> Question.rb model
>
> def set_format_for_presentation
>    #  Create array and shuffle incorrects.
>     answer_list = [
>       [incorrect_ans_1, incorrect_anno_1],
>       [incorrect_ans_2, incorrect_anno_2],
>       [incorrect_ans_3, incorrect_anno_3],
>       [incorrect_ans_4, incorrect_anno_4],
>       [incorrect_ans_5, incorrect_anno_5],
>       [incorrect_ans_6, incorrect_anno_6]
>       ].shuffle
>
>       # Randomly insert the correct answer and response into the
> shuffled array.
>       random_insert = rand(4)
>       answer_list.insert(random_insert,["#{correct_ans_1} *",
> self.correct_anno, self.question_pict])
>
>       formatted = {
>         :anno_1 => answer_list[0][1],
>         :anno_2 => answer_list[1][1],
>         :anno_3 => answer_list[2][1],
>         :anno_4 => answer_list[3][1],
>         :anno_5 => answer_list[4][1],
>         :question => self.question,
>         :answer_a => answer_list[0][0],
>         :answer_b => answer_list[1][0],
>         :answer_c => answer_list[2][0],
>         :answer_d => answer_list[3][0],
>         :answer_e => answer_list[4][0]
>         }
>         formatted
>   end
>
>
> In the controller:
> @question = Question.find(params[:id])
> @formatted_question = @question.set_format_for_presentation
>
> In the view:
>
> <% form_for(@formatted_question, :url => "controller => question",
> :action => "show") do |f| %>
>
>
> <div id="questionpict">
>  <p>
>    <%= image_tag @question.question_pict, :alt => "eye.jpg", :size =>
> "470x470", :style=> "border: 3px inset #d7b9c9;" %>
>  </p>
> </div>
>
>
> <div id="show_formatted_question">
> <p>
>    <br /><%= @formatted_question[:question] %>
> </p>
> <p>
>    <br /><%= "A.   #...@formatted_question[:answer_a]}" %>
> </p>
> <p>
>    <br /><%= "B.   #...@formatted_question[:answer_b]}" %>
> </p>
> <p>
>    <br /><%= "C.   #...@formatted_question[:answer_c]}" %>
> </p>
> <p>
>    <br /><%= "D.   #...@formatted_question[:answer_d]}" %>
> </p>
> <p>
>    <br /><%= "E.   #...@formatted_question[:answer_e]}" %>
> </p>
> </div>
>
>
> <div id="ajax_area">
>  <p>
>      <%= render :partial => @anno %>
>  </p>
> </div>
>
>
> <div id = "buttons">
>  <%= link_to_remote(
>  "A",
>  :url =>"/questions/#...@formatted_question[:id]}/_anno_1",
>  :method => "get",
>  :update => "ajax_area") %>
>
>  <%= link_to_remote(
>  "B",
>  :url =>"/questions/#{@ formatted.id}/_anno_2",
>  :method => "get",
>  :update => "ajax_area") %>
>
>  <%= link_to_remote(
>  "C",
>  :url =>"/questions/#{@ formatted.id}/_anno_3",
>  :method => "get",
>  :update => "ajax_area") %>
>
>  <%= link_to_remote(
>  "D",
>  :url =>"/questions/#{@ formatted.id}/_anno_4",
>  :method => "get",
>  :update => "ajax_area") %>
>
>  <%= link_to_remote(
>  "E",
>  :url =>"/questions/#{@ formatted.id}/_anno_5",
>  :method => "get",
>  :update => "ajax_area") %>
> </div>
>
>
> <% end %>
>
> Partial partial_anno_1.html.erb
>
> <p>
>    <br /><%= "#...@formatted_question[:anno_1]}" %>
> </p>
>
> My goal is to use ajax to display the partial associated with the button
> clicked eg click the “A” button and display “_anno_1”.  Cant figure out
> how to get the information in the variables to the partial.  I cant use
> set_format_for_presentation again as it will reshuffle tha attributes
> and responses will no longer match the order the displayed answers are
> in.
>
> Thanks,
>
> Dave Castellano
> --
> Posted via http://www.ruby-forum.com/.
>
> --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rubyonrails-talk%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rubyonrails-talk?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" 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/rubyonrails-talk?hl=en.

Reply via email to