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/.