views/layouts/application.html
には、<%= yield %>
という行があります。この行は最終的にコントローラのアクションに直接対応するビューに置き換えられます。私のコントローラの一Rails 5:アプリケーションレイアウトに部分的にレンダリングする
、私の代わりにデフォルトの動作の部分をレンダリングしようとしています:
def show
@service_groups = ServiceGroup.where(deleted_at: nil)
render partial: 'table', locals: {rows: @service_groups, headers: service_group_headers}
end
私は同じ基本的なテーブル構造を使用できるように、私はこのように部分的に使用していますさまざまな異なるデータベーステーブル(異なるコントローラ間)。
このrender partial
コードは、アプリケーションレイアウトの<%= yield %>
行では機能していないようです。部分コードは周囲のレイアウトなしで単独でレンダリングされます。
- これはなぜですか?
- 問題を解決するにはどうすればよいですか?
これを別の方法で処理する必要がある場合はお知らせください。
ありがとうございました。
そのコントローラ用の 'show.html.erb'を作成し、そこに' render:partial'を配置したらどうでしょうか?それは動作するはずです。 –
ありがとう、私はそれが動作すると確信しています。明日に確認します。本当に何もしないたくさんのファイルを持っているのはちょっと浪費のようですが、それを行うためのRailsのコンベンションであれば、私はそれに従います。 –
それは働いて、ありがとう。 –