Conversation
7941b32 to
b797636
Compare
app/models/test_passage.rb
Outdated
| def accept!(answer_ids) | ||
| self.correct_questions += 1 if correct_answer?(answer_ids) | ||
|
|
||
| set_first_or_next_question |
There was a problem hiding this comment.
этого и след метода не должно быть в этом методе. метод accept только подсчет правильности ведет. не надо в него подмешить другую лоигку. нарушаешь принцип единоотвественности и преврашаешь метод в ниндзя метод, который помимо очевидной вещи из названия под капотом делает еще какую-то магию
app/models/test_passage.rb
Outdated
|
|
||
| def percentage_completion | ||
| (self.correct_questions / questions_count.to_f * 100).round | ||
| self.score = (self.correct_questions / questions_count.to_f * 100).round |
There was a problem hiding this comment.
зачем это в переменную сохранять? как ты это используешь потом?
| @@ -0,0 +1,5 @@ | |||
| class AddStateToTestPassage < ActiveRecord::Migration[7.0] | |||
| def change | |||
| add_column :test_passages, :state, :integer, default: 0 | |||
There was a problem hiding this comment.
как будто усложняешь. тесты либо пройден, либо нет. зачем тебе знать по времени не пройден или по другой какой-то еще причине?
| @@ -0,0 +1,5 @@ | |||
| class AddDurationToTests < ActiveRecord::Migration[7.0] | |||
| def change | |||
| add_column :tests, :duration, :integer, default: 900 # Default duration is 15 minutes (in seconds) | |||
There was a problem hiding this comment.
обычно дефолтное значинем ставим 0, когда тест можно бесконечно проходить
| <td><%= test.category.title %></td> | ||
| <td><%= t("tests.levels.#{test.level}") %></td> | ||
| <td data-inline-edit-target="duration"> | ||
| <%= test.duration / 60 %> минут <!-- Display duration in minutes --> |
There was a problem hiding this comment.
test.duration / 60 на этой вьюхе вызывает несколько раз. можно сохранить в переменную.
если что на вьюхах тоже можно переменные задавать, не только в контроллере
b797636 to
1e5f8a6
Compare
No description provided.