2

特定のニッチ向けのCRMツールを構築しようとしています。私は完全な初心者です。これが私の最初のアプリになります。私の唯一のプログラミング経験はVBとMSAccessであるため、RoRはかなりの学習曲線を示しています。MichaelHartlのRailsチュートリアルの最初のバージョンを試しました。(そして実際にそれの約10%を吸収しました)

Themeforestブートストラップ管理テーマを購入しました。2つの一般的な質問があります。

1)テーマにはいくつかのPHPコードが含まれています。このコードをRubyで書き直す必要があると思いますよね?このコードは主に、ファイルのアップロードなどを制御します。経験豊富なプログラマーがRubyでかなり迅速に書き直すことができるものです(私にとっては、数か月かかります:)

2)テーマにはいくつかの異なるページが含まれています。たとえば、1つのページはダッシュボードで、別のページはカレンダーです。これらのページは両方とも、それらの間で多くの重複があります-すべてのメインコントロールボタンなどは、ページ間で同じままです。テーマでは、各ページは異なるHTMLファイルであり、すべてのコードが単純に複製されています。たくさんのHTMLページの間にコードをカットアンドペーストしないように、Railsにある種のテンプレートシステムを設定したいと思いますよね?(メインボタンを変更する場合、このテーマに付属している20個のHTMLファイルのそれぞれではなく、1か所でのみ変更を加えたいと思います。)

4

2 に答える 2

4

1)

他に方法がないかどうかは絶対にわかりませんが、おそらく最も簡単な解決策です。

ファイルのアップロードなど、Webアプリで一般的なものを書き直す必要がある場合は、通常、役立つ宝石があります。そのため、すべてを最初から行う必要はありません。私たち自身のプロジェクトで使用しているので、ファイルのアップロードにはペーパークリップの宝石であるRailscastをお勧めします。

注:Railscastは古くなっているため、インストール内容は正確ではなくなりました。また、ペーパークリップが機能するにはImageMagickが必要です。

Railscastは他の多くの便利な宝石もカバーしています。あなたが特定の何かを見つける必要があるならば、ただそれをググってください。githubページは通常、gemがまだ維持されているかどうか、または他の何かを使用したほうがよいかどうかを示します。

2)

Railsは、パーシャルを含む重複コードを防ぎます。これがRailscastです(構文は2008年から変更されている可能性があります)。パーシャルを使用すると、ヘッダーやケース内のボタンなどのコードをファイルに配置して、任意のビューでレンダリングできます。

残念ながら、評判が悪いため、githubページやRubygems.orgなどの他のものをリンクすることはできません。これがまだ少し役立つことを願っています。

于 2012-07-11T01:13:51.540 に答える
1

テーマの一般的な要素をアプリケーションレイアウトに抽出します。

テーマのモジュラーセクションを独自のコントローラーとアクションに抽出します。たとえば、カレンダーセクションのカレンダーコントローラーを作成します。カレンダーコントローラーに表示されるアクションは、カレンダーをサポートするビューになります。コントローラアクションを作成せずに、パーシャル(「_」で始まるビュー)を使用することもできます。ただし、ビューに送信する必要のあるデータがある場合は、通常のコントローラーのアクションとビューを使用することをお勧めします。

phpコードについては、それを取り除き、モデルを配置することを優先して、可能な限り多くのロジックをモデルとコントローラーに移動します。hoboが提案したように、gemをチェックして、複雑なphpコードの機能を複製します。

于 2012-11-11T13:18:46.787 に答える