Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Exercise 10.5] Add an integration test for the expired password reset and more #16

Merged
merged 4 commits into from
Jun 25, 2015

Conversation

ku00
Copy link
Owner

@ku00 ku00 commented Jun 22, 2015

Exercises

https://www.railstutorial.org/book/account_activation_password_reset#sec-activation_resets_exercises

TODO

  • 1. Add an integration test for the expired password reset to check that the response body includes the word expired
  • 2. Improve index and show action by filling in the template shown in Listing 10.58
    • Replace FILL_IN in Listing 10.58
    • Extra credit: Add integration tests for both /users and /users/:id
  • 3. Replace each pair of update_attribute calls with a single call to update_columns by filling in the template shown in Listing 10.59
    • Replace FILL_IN in Listing 10.59
    • Verify the test suite is covering the right thing by running the test

Completion Conditions

  • Passed by all green TravisCI test
  • Get OK or LGTM from two of rjk

@alotofwe
Copy link

ExercisesのURLがChapter 9だ...

@ku00
Copy link
Owner Author

ku00 commented Jun 23, 2015

あれ本当だ...。修正しました!

@alotofwe
Copy link

ありがとう! LGTM 🍺

@hanazuki
Copy link

improved attr update method because 'update_attributes' is deprecated

deprecatedなんですか?

@ku00
Copy link
Owner Author

ku00 commented Jun 23, 2015

@hanazuki
http://apidock.com/rails/ActiveRecord/Base/update_attributes
にはdeprecatedもしくはmovedって書いてある。
どちらにせよaliasとして update があるから使わないほうがいいかなと思ってるのだけどどうだろうか。

@hanazuki
Copy link

@takuminnnn それはActiveRecord::Base#update_attributesが廃止されてActiveRecord::Persistence#update_attributesに移ったといういう意味の記述ですよね.

update_attributesを使うべきではないとはどこにも書かれていないと思いますが,仮にそうだったとしてupdateを使うべきであって,update_columnsにするのはおかしくないですか.

@ku00
Copy link
Owner Author

ku00 commented Jun 23, 2015

@hanazuki なるほど確かに自分の早とちりでした。ただ、今回のExerciseではTODOにも示した通り、 update_attributeupdate_columns に変更する問題であるため update を使いませんでした。

@hanazuki
Copy link

@takuminnnn なるほどそういう設問だったんですね(いま問題よみました,ごめんなさい).

ただ,設問の意図は,update_attributeを単に2回呼ぶと単一トランザクションにならない,という問題を解決することだと思うので,それは元々のコードのようにupdate_attributes(ないしupdate)を使うことで解決できていると思います.

今回はたまたま関係ないのですが,update_columnsがバリデーションを省略することなどを説明しないあたりあまり良くない課題と思いました.

@ku00
Copy link
Owner Author

ku00 commented Jun 23, 2015

@hanazuki

ただ,設問の意図は,update_attributeを単に2回呼ぶと単一トランザクションにならない,という問題を解決することだと思うので,それは元々のコードのようにupdate_attributes(ないしupdate)を使うことで解決できていると思います.

確かに設問の意図的にはそちらでも問題ないですね。

validation, callbackをスキップする update_columns の挙動を考えたら、元のコードの方が後々ハマらなくて済みそうなので戻しておきます。ツッコミありがとう!

@hanazuki
Copy link

よいとおもいます〜

@ku00
Copy link
Owner Author

ku00 commented Jun 25, 2015

@hanazuki ありがとう!

@ku00 ku00 merged commit d8077b2 into master Jun 25, 2015
@ku00 ku00 deleted the exercise-10 branch June 25, 2015 05:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants