次の状況で自分のデータに到達するにはどうすればよいのでしょうか。
Pagesというリソースがあり、すべてのアクションが可能で、Ryanbateがhttp://railscasts.com/episodes/117-semi-static-pages?autoplay=trueのrailscastで提案して作成されました。今、私はレイアウトフォルダを使用しました
application.html.erb
_footer.html.erb
_header.html.erb
このページにはパーマリンクがあり、_footerセクションに配置して、About Us、TermandConditionなどにすることができます。
だからここで私が行ったことapplication.html.erb
<%= render 'layouts/header' %>
<div class="container">
<% flash.each do |key, value| %>
<div class="alert alert-<%= key %>"><%= value %></div>
<% end %>
<%= yield %>
<%= render 'layouts/footer' %>
<%= debug(params) if Rails.env.development? %>
</div>
レイアウトフォルダで_footerを呼び出しますこれは_footer.html.erbです
<footer class="footer">
<small>
Copyright <%= Time.now.year %>
</small>
<nav><%= render "pages/link" %>
<ol class="footer_pages">
</ol>
</nav>
</footer>
Pages/_link.html.erb内のファイルを呼び出すファイルこれはファイルです
<li>
<%= @pages.each do |page| %>
<%= page.name %>
<% end %>
</li>
この時点で、pages.eachは初期化されておらず、正しい場合は機能しません。したがって、呼び出し元であるため、コントローラーapplicationControllerで初期化@pages=Page.allを実行しました。この理論は私がそれを読むことを可能にするはずです、しかしそれはまだうまくいきません!私は何を間違っていますか?
他のコメントを追加する方法がわからないので更新するapplicationController
class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper
@pages = Page.all
end