我有一个letrate gem https://github.com/muratguzel
我已安装它并按照自述页面上的说明进行操作。 我已经放在页面上了:
<div class="shop-review-ratings">
Service: <%= rating_for @shop, "service" %>
Price: <%= rating_for @shop, "price" %>
</div>
BUt,在控制器端,我尝试用这一行保存评级:
@shop.rate(params[:stars], current_user.id, params[:dimension])
它说:
PG::Error: ERROR: null value in column "stars" violates not-null constraint
DETAIL: Failing row contains (24, 3, 1576, Shop, null, null, 2013-06-01 10:13:28.297843, 2013-06-01 10:13:28.297843).
: INSERT INTO "rates" ("created_at", "dimension", "rateable_id", "rateable_type", "rater_id", "stars", "updated_at") VALUES ($1, $2, $3, $4, $5, $6, $7) RETURNING "id">
我的参数说:
{"score"=>"4", "controller"=>"shops", "action"=>"rate"}
我已经运行了所需的所有迁移。并置于shop.rb
下:
letsrate_rateable "service", "price"
有没有人使用过这个宝石,并提示如何解决这个问题,或者确实有一个这个宝石的工作示例?
答案 0 :(得分:1)
似乎我找到了答案。评级正在更新。我一直试图在记录上测试我已被评级,没有任何反应 - 这是因为它禁止用户再次评级,所以没有发生任何事情。我试图评价新店,它正在运作。非常感谢所有开始关注这个问题的人。