I have a table with question_id , nominees and vote_count in which the values are added manually as follows. ex: question_id nominees vote_count 1 tamil 0 1 selvi 0 2 aaaa 0 3 qqqq 0 3 wwww 0 using this i have created a surevy. when i select a nominee, then the vote count for the particular nominee should be updated like this. question_id nominees vote_count 1 tamil 1 1 selvi 0 2 aaaa 1 3 qqqq 0 3 wwww 1 am implementing this as follow, <% count = 1 %> <% for voting in @voting %> <% if voting.question_id.eql?(count) %> <%= radio_button( count, voting.vote_count, :id => voting.nominees ) %> <%= voting.nominees %> <% voting.update_attribute(''vote_count'', voting.vote_count+1 ) %> <% end %> but it updates vote_count for all the nominees like question_id nominees vote_count 1 tamil 1 1 selvi 1 2 aaaa 1 3 qqqq 1 3 wwww 1 how can i compare the selected nominees with the existing one. any help on this would be very useful... -- Posted via http://www.ruby-forum.com/.
Why are you doing model updating in the view? Can you post the corresponding controller code? You use a loop to read every record in your table, and inside that loop, the line: voting.update_attribute(''vote_count'', voting.vote_count+1 ) updates every record adding one to the previous value. Your "if voting.question....." encloses only the line below it (It appears that <% end %> is missing. On 3 ago, 11:01, Tamilselvi Srinivasan <rails-mailing-l...@andreas- s.net> wrote:> I have a table with question_id , nominees and vote_count in which the > values are added manually as follows. > ex: > > question_id nominees vote_count > 1 tamil 0 > 1 selvi 0 > 2 aaaa 0 > 3 qqqq 0 > 3 wwww 0 > > using this i have created a surevy. > > when i select a nominee, then the vote count for the particular nominee > should be updated like this. > question_id nominees vote_count > 1 tamil 1 > 1 selvi 0 > 2 aaaa 1 > 3 qqqq 0 > 3 wwww 1 > > am implementing this as follow, > <% count = 1 %> > <% for voting in @voting %> > <% if voting.question_id.eql?(count) %> > <%= radio_button( count, voting.vote_count, :id => voting.nominees ) %> > <%= voting.nominees %> > > <% voting.update_attribute(''vote_count'', voting.vote_count+1 ) %> > <% end %> > > but it updates vote_count for all the nominees like > > question_id nominees vote_count > 1 tamil 1 > 1 selvi 1 > 2 aaaa 1 > 3 qqqq 1 > 3 wwww 1 > > how can i compare the selected nominees with the existing one. > > any help on this would be very useful... > -- > Posted viahttp://www.ruby-forum.com/.
Tamilselvi Srinivasan
2009-Aug-03 11:58 UTC
Re: Updating attribute based on radio selection
sorry,i have missed to paste the <%end%> in the post. actually i need to compare the selected nominee with the available nominees . if both are equal then i need to update the vote_count. so only i updated the model in view.. Eddy Josafat wrote:> Why are you doing model updating in the view? Can you post the > corresponding controller code? > > You use a loop to read every record in your table, and inside that > loop, the line: > > voting.update_attribute(''vote_count'', voting.vote_count+1 ) > > updates every record adding one to the previous value. Your "if > voting.question....." encloses only the line below it (It appears that > <% end %> is missing. > > > > On 3 ago, 11:01, Tamilselvi Srinivasan <rails-mailing-l...@andreas--- Posted via http://www.ruby-forum.com/.
this post will be useful in understanding the logic you need for this task. stars, css and the works is upto your own discretion.. http://blog.aisleten.com/2007/05/03/ajax-css-star-rating-with-acts_as_rateable/ On Aug 3, 4:58 pm, Tamilselvi Srinivasan <rails-mailing-l...@andreas- s.net> wrote:> sorry,i have missed to paste the <%end%> in the post. > > actually i need to compare the selected nominee with the available > nominees . > if both are equal then i need to update the vote_count. so only i > updated the model in view.. > > > > Eddy Josafat wrote: > > Why are you doing model updating in the view? Can you post the > > corresponding controller code? > > > You use a loop to read every record in your table, and inside that > > loop, the line: > > > voting.update_attribute(''vote_count'', voting.vote_count+1 ) > > > updates every record adding one to the previous value. Your "if > > voting.question....." encloses only the line below it (It appears that > > <% end %> is missing. > > > On 3 ago, 11:01, Tamilselvi Srinivasan <rails-mailing-l...@andreas- > > -- > Posted viahttp://www.ruby-forum.com/.