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

Я пытался поместить его в пользователя 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)

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

1 ответ

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

Другие вопросы по тегам