2013-11-22 4 views
3

Во второй половине дня все,Merit + Rails 4 и защищенные атрибуты

Я только что загрузил заслугу камень, я настраиваю все мои знаки, но на действие я вижу следующее:

WARNING: Can't mass-assign protected attributes for Merit::Action: 
user_id, action_method, action_value, had_errors, target_model, 
target_id 

Я вы пытались поместить его в user attr_accessible, но на самом деле не хотите отдать user_id.

Вот балльная система:

score 10, :to => :user, on: 'snippets#create' do |comment| 
    comment.content.present? 
end 

Кто-нибудь сталкивался с этим вопросом.

Я прочитал вопросы о github и has_merit в модели не должен вызывать эту проблему.

Вот полный журнал, если я готов это право, он предупреждает меня и продолжает вставлять в любом случае, но у моего пользователя нет очков или значков.

(2.5ms) COMMIT 
    (0.1ms) BEGIN 
    SQL (3.3ms) UPDATE "snippets" SET "user_id" = $1, "updated_at" = $2 WHERE "snippets"."id" = 11 [["user_id", 1], ["updated_at", Fri, 22 Nov 2013 16:55:02 UTC +00:00]] 
    Merit::Sash Load (0.3ms) SELECT "sashes".* FROM "sashes" WHERE "sashes"."id" = $1 ORDER BY "sashes"."id" ASC LIMIT 1 [["id", 3]] 
    Merit::Score Load (1.5ms) SELECT "merit_scores".* FROM "merit_scores" WHERE "merit_scores"."sash_id" = $1 AND "merit_scores"."category" = 'default' ORDER BY "merit_scores"."id" ASC LIMIT 1 [["sash_id", 3]] 
    (1.7ms) SELECT SUM("merit_score_points"."num_points") AS sum_num_points, score_id AS score_id FROM "merit_score_points" WHERE "merit_score_points"."score_id" = $1 GROUP BY score_id [["score_id", 3]] 
    (3.5ms) COMMIT 
Redirected to http://0.0.0.0:3000/books/1 
WARNING: Can't mass-assign protected attributes for Merit::Action: user_id, action_method, action_value, had_errors, target_model, target_id 

    (0.4ms) BEGIN 
    SQL (0.5ms) INSERT INTO "merit_actions" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", Fri, 22 Nov 2013 16:55:02 UTC +00:00], ["updated_at", Fri, 22 Nov 2013 16:55:02 UTC +00:00]] 
    (1.4ms) COMMIT 
    Merit::Action Load (0.5ms) SELECT "merit_actions".* FROM "merit_actions" WHERE "merit_actions"."processed" = 'f' 
    (0.2ms) BEGIN 
    SQL (4.6ms) UPDATE "merit_actions" SET "processed" = $1, "updated_at" = $2 WHERE "merit_actions"."id" = 13 [["processed", true], ["updated_at", Fri, 22 Nov 2013 16:55:02 UTC +00:00]] 
    (1.4ms) COMMIT 
Completed 302 Found in 226ms (ActiveRecord: 43.0ms) 

Немного потеряно.

+0

Привет! Какие версии достоинств, Rails и protected_attributes вы используете? – TuteC

+0

@TuteC Спасибо за помощь. Я использую достоинства (1.6.2), рельсы 4 и в настоящее время имею защищенный камень, но все же буду переключаться на strong_params в ближайшее время в списке дел. –

+0

Кажется, что есть ошибка, которая является такой же, как описано в https://github.com/applicake/doorkeeper/commit/6b1b0f11bb544aabc31213ad805ca82deae30b75#commitcomment-4680782. – TuteC

ответ

0

Проблема была в том, что заслуга еще не подготовлена ​​для комбинации Rails 4 и protected_attributes gem. Исправлено с сегодняшнего дня в мастер.

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