2009-08-30 12 views
5

私は経験豊富なプログラマーですが、RubyとRuby on Railsの全く新しいものです。Ruby on Railsの最後の20%

RoRは、特にCRUD操作のための自動スクリーン生成を素早く処理するのに最適です。

本当にすぐに生産性が向上します。

私のアプリケーションを終了する必要がある場合、質問は仕事の最後の20%です。私のやり方ではRoRの慣習は立てられませんか?すべてのデータベーステーブルがすべてのユーザーに使用可能である必要はなく、すべてのユーザーがすべての列および/またはすべての行を編集できるわけではなく、ビューを自分のサイトのルックアンドフィールに合わせる必要があります。

RoRが実際のサイトでは正常に使用されていますが、最初のフェーズが終了した後、重力から逃れるためにRoRでどの程度正確な速度を得ることができます。

+7

少なくともあなたの例から判断すると、私のために仕事をしないで "自分の道に立つ"と混乱しているようです。 (あなたのサイトのルック・アンド・フィールを操作するためにビューをデザインする必要がありますか?それはあなたの道にRailsの一例ですか?) – Chuck

+0

良い点、Chuck。 –

答えて

7

私は足場が80%あなたを得ているとは思わない。 Scaffoldingは、Railsの部分がどのようにフィットするかを示してくれてうれしいですが、私は足場のコードからアプリケーションを構築しません。あなたが足場に感銘を受けた今、あなたはそれについてすべてを忘れているのが最善です。 :)

本当にRailsが私の頭の中で輝いているところは、database migrations、ActiveRecordのダイナミックさ、そしてプラグインのエコシステムです。

Railsに参加することを決定する際には、多くのことが学べます。新しい言語、新しいフレームワーク、新しいプラグインがありますが、それらのことを学ぶ時間を取れば、Railsで非常に生産的になることができます。

+6

ああ、さようなら、冗談なし。足場は完全なアプリケーションの近くにあなたを連れて行くことを意味しません。 +1 – Chuck

+0

私は足場を使用しますが、カスタマイズされた発電機でのみ使用します。 –

1

私のやり方ではRoRの規則はありませんか? ないすべてのデータベーステーブルが すべてのユーザーに対して利用可能でなければならない、としませ すべてのユーザーが、すべての列を編集および/または すべての行を、ビューは は、自分のサイトの外観に適合させなければならないと感じることができるのでなど

これは少し不連続です。 Railsは、実世界のアプリケーションから取り除かれたフレームワークです。これらのアプリケーションは、これらのすべての問題に対処しなければならず、他にもまだ考えていない可能性があります。一般的に、慣習は、一度学ぶと生活を楽にします。

もう1つのポイントは、表記規則は単なる表記法であるという点です。あなたはそれらに従う必要はありません。 RoRをすべて使用する必要はありませんが、私はまだできなかったケースを見つけることはできませんでしたが、私は一般的にできるだけ多くをDBレイヤーまたはキャッシュレイヤーに押し込もうとします。

5

私はまもなくレールでルビーをやっています。 80/20の問題は、レールに固有の問題ではありません。これは一般に世界中に適用されます。私はまた、あなたのためにビジネスロジックを行うことができるフレームワークも認識していません。

具体的な質問にお答えします。 20%をやっている間、大会はあなたのやり方で立っていません。代わりに、慣習はあなたが20%速くそれを得るのを助けるでしょう。

個人的には、ユーザー認証のためにAuthlogicを使用します。ユーザーの承認には、顧客のニーズに応じてLockdownまたはAuthorizationプラグインを使用します。

コントローラコードを簡素化するために、ほとんどのプロジェクトでもinherited_resourceを使用します。これは大会の別の力です。

開発のスピードを上げるには、Railsを知る必要があるだけでなく、適切なことをする宝石/プラグインをレールするので、車輪を再び改造する必要はありません。また、Rubyの言語を知ることは、80%を超えてすぐに開発するために必要です。

Ruby Toolboxは、特定のドメインを対象とした一般的なレールプロジェクトで使用されている最も人気のある宝石とプラグインを提供しています。関連するカテゴリを見て、ほとんどの人が何を使用しているかを知ることができます。 (そして、よくメンテナンスされたよく使われている宝石を使用するのはおそらく良い考えです)

TDD/BDDスタイルの開発は、あなたが長期的にスピードアップするのにも役立ちます。

最後に、警告:あなたがレールコンベンションから離れてしまうと、一般的に苦しい時間を過ごすことになります。

P.S.私は前にMerbを使った。私の気持ちは、コンベンションがあなたがマラブのお手伝いをしてくれることですが、あなたはマラブで彼らをフォローしないとあまりにも多くのペナルティを受けることはありません。しかし、Railsを使った私の経験では、レールアプリケーションを開発しているときに、レールのコンベンションに従わないと決めた場合、それはあなたを何かかの方法で噛んで戻ってくるでしょう!だから、実際にレールコンベンションから離れようとしたときに二度考えてください...(これは私自身の経験からであり、もちろん主観的ですが、警告として考えることができます...)

0

私はしませんあなたはRailsの慣習に深刻な問題を抱えていると信じています。慣例に従い、RoRシステムを信頼してください。 Railsの背後にいる人々は、共通の使用シナリオの99%をサポートするために、これらの規約に多くの努力を払っています。

慣習以外の何かを実際に行う必要がある場合、最終的にはかなり複雑になります。しかし、あなたは一人ではありません。ネット上には、ヘルプを得るための優れたリソースがたくさんあります(例えば、StackOverflowコミュニティ)。

  • を規則可能な限りとスティック(始めるための優れたリソース::。それをまとめると

    Rails Guides

  • は車輪の再発明をしない代わりにRails pluginsRuby Gems探し(ありませんあなたは普通のから何かを必要とする場合GitHub)。
  • StackOverflowコミュニティを参照してください忘れる。
  • Test all the f***ing time(ちょうど楽しみのために)。