http://www.slideshare.net/tricknotes/rails-possiblestory ここに記載されているのはRailsどうのでなく設計の問題なので、これを「Railsのあるある」という人は、他の言語やwebアプリのFWでもまた同じ間違いを犯ちゃうのでは疑惑。 1.社員レコードは論路削除で… 問題の原因は、モデルの状態遷移・各状態で機能がどう振る舞うかを検討せず(設計をせず)に実装にとりかかってることでは。 やるべきだった手順 現実世界での対象モデルの状態を整理する 内定、有効、休職傷病、産休、退職、一時退職(役員とかになる場合の)とか? アプリケーション内で定義すべき状態を整理する (社員だと、権限に関わるのでそれに関係しそうな状態を整理する) {準備, 有効, 休職, 退職, 無効, ロック}とか? 最適な実装方法を考える 状態を管理する属性をモデルに持たせ
![RailsあるあるがRailsあるあるじゃない件 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/fb59ee4cc031ca8960a0ebc0b9a329b885f5c45f/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9UmFpbHMlRTMlODElODIlRTMlODIlOEIlRTMlODElODIlRTMlODIlOEIlRTMlODElOENSYWlscyVFMyU4MSU4MiVFMyU4MiU4QiVFMyU4MSU4MiVFMyU4MiU4QiVFMyU4MSU5OCVFMyU4MiU4MyVFMyU4MSVBQSVFMyU4MSU4NCVFNCVCQiVCNiZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnR4dC1jbGlwPWVsbGlwc2lzJnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZTUxNDQ2NzE0NWMzYjI1MjgwZmZlYjA1MGFjOWY2ZGY%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc2F0b3VyJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz05Y2I5YmIyMGUzOWI5MDZmMDY5NzgxYmI0MGVhZTY1ZQ%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D333d5994ecbf0184ee0d25a8f8f56a2a)