10

スキャフォールドジェネレーターをカスタマイズしようとしていますが、同じディレクトリ内のビューの新しいパーシャルを作成したいと思います。特に、 insideindexとshow_itemの両方で呼び出されます。すべてのテンプレートを取得できますが、このファイルを生成できません

rails g scaffold foo name:string

_item.erbを(他のファイルと一緒に)入れようとしましたが、無視され/lib/templates/erb/scaffold/ます-誰か手がかりがありますか?

Rails 3でRubyを使用していますが、解決策がRails2でも有効かどうかを教えてください。simple_formも使用しています(したがって、すでに_formパーシャルがあります)が、ソリューションはそれがなくても有効であるはずです。

4

3 に答える 3

4

ちょうどそれを見つけました。

ハードコードされています。次のように変更できます。

https://github.com/rails/rails/blob/master/railties/lib/rails/generators/erb/scaffold/scaffold_generator.rb

  def available_views
    %w(index edit show new _form)
  end

私のインデックステンプレートでは、次のようにしました:

        <thead id="thead_js">
        <%%= render 'thead' %>

        <!-- CUT TO _thead.html.erb -->
        <tr>
            <% for attribute in attributes -%>
                <th><%%= sortable( <%= attribute.name %>, <%= attribute.human_name %> ) %></th>
            <% end %>
            <th>&nbsp;</th>
        </tr>
        <!-- END CUT TO -->

    </thead>

次に、そのコメントを読み取って新しいファイルを作成する rake タスクを作成しました。

醜いが効果的。

于 2011-03-20T20:27:24.397 に答える
-1

これは scaffold g にハードコードされていると思います。私がしたことは、より多くのファイルを追加する rake タスクを作成することでした。

于 2011-03-20T20:08:53.217 に答える