2012-02-22 3 views
0

Basic Gist: В настоящее время я пытаюсь создать счетчик рейтинга, который имеет функцию вверх или вниз. Я создаю d отдельную модель, чтобы показать счетчик рейтинга, и счетчик принадлежит сообщению. Я пытаюсь создать что-то вроде Reddit или даже Stackoverflow. Я в настоящее время застрял в том, что делать. Всем спасибо.Rails: A Рейтинг Up или Down Counter Part II

DB: Рейтинг Таблица: post_id, user_id, рейтинги

DB: Post Таблица: ratings_count

Рейтинг модели

class Rating < ActiveRecord::Base 
    attr_accessible :post_id, :user_id, :ratings 
    has_many :post 
    has_many :users 

    validates :post_id, presence: true 
    validates :user_id, presence: true 
end 

Сообщение Модель

class Post < ActiveRecord::Base 
    attr_accessible :ratings_count 
    belongs_to :user 
    has_many :ratings 

    validates :user_id, presence: true 
    validates :smiles, presence: true 
end 

Рейтинг Контроллер

Nothing in it 

Сообщение Контроллер

class PostsController < ApplicationController 

    def rate 
    @post = post.find(params[:id]) 
    if params[:ratings_count] 
     @[email protected]_count+1 
    end 
    end 

    def unrate 

    unsure 

    end 
end 

Рейтинг Форма

<%=form_for @post, :action=>"rate" do |f|%> 
<%= f.hidden_field :ratings_count %> 
<%=f.submit "Rate"%> 
<%end%> 
+0

Потенциально связанные чтения: http://www.evanmiller.org/how-not-to-sort-by-average-rating.html – sarnold

ответ

0

Вы могли бы использовать что-то вроде этого: http://ar.rubyonrails.org/classes/ActiveRecord/Base.html#M000348

class PostsController < ApplicationController 

    def rate 
    Post.increment_counter(:ratings_count, params[:id]) if params[:ratings_count] 
    end 

    def unrate 
    # You will obviously need to check for a ratings_down or something similar field in your form 
    Post.decrement_counter(:ratings_count, params[:id]) if params[:ratings_count] 
    end 
end 
+0

Я уверен, если Я правильно настроил форму? вы можете проверить? и спасибо – Kellogs

+0

Вы получаете какие-либо ошибки? – dennismonsewicz

+0

Нет, это просто не приращение – Kellogs

 Смежные вопросы

  • Нет связанных вопросов^_^