0
我努力做到以下幾點:活動記錄的搜索查詢
1)獲取所有的選票從我的投票表與當前評論的ID(我有這方面的工作)
2)獲取值「評分表「。這兩個活動記錄查詢幾乎是相同的(我相信是正確的)。這是我的Schema for這兩個表(投票和評論)和我的評論控制器。
3)我需要在「我的評論模型」中定義的方法中使用此「分數」值。
ActiveRecord::Schema.define(version: 20131207224402) do
create_table "comments", force: true do |t|
t.integer "user_id"
t.integer "question_id"
t.text "comment"
t.integer "upvotes"
t.datetime "created_at"
t.datetime "updated_at"
t.integer "score"
end
create_table "votes", force: true do |t|
t.integer "comment_id"
t.integer "user_id"
t.integer "upvote"
t.integer "downvote"
t.datetime "created_at"
t.datetime "updated_at"
end
end
這裏是我的評論型號
class Comment < ActiveRecord::Base
belongs_to :question
belongs_to :user
has_many :votes
def total_score
total_votes = Vote.where(:comment_id => self.id)
current_score = Comment.where(:id => self.id) ##This is the query that is not working properly.
testing = current_score.score
total_score ||= 0
up = total_votes.inject(testing) {|sum, v|
v.upvote ||= 0
sum + v.upvote
}
down = total_votes.inject(testing) {|sum,v|
v.downvote ||= 0
sum + v.downvote
}
up.to_i + down.to_i
end
end
爲什麼我不能用.score以取得該查詢返回變量得分的價值?
例如:current_score.score =「一些號」
我需要這個號碼來設置當前「和」我的注射方法。
這裏是我得到的錯誤:
ActionView::Template::Error (undefined method `score' for #<ActiveRecord::Relation::ActiveRecord_Relation_Comment:0x007fbfcc7e9260>):
1: json.array!(@comments) do |comment|
2: json.extract! comment, :user_id, :question_id, :comment, :upvotes, :id, :score, :created_at
3: json.url comment_url(comment, format: :json)
4: json.comment_score comment.total_score
5: end
app/models/comment.rb:14:in `total_score'
app/views/comments/index.json.jbuilder:4:in `block in _app_views_comments_index_json_jbuilder__2724241289986061767_70230927807240'
app/views/comments/index.json.jbuilder:1:in `_app_views_comments_index_json_jbuilder__2724241289986061767_70230927807240'
Rendered /Users/ScottDAlessandro/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.5ms)
Rendered /Users/ScottDAlessandro/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.3ms)
Rendered /Users/ScottDAlessandro/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (13.2ms)