ナビゲーションバーのドロップダウンメニューから記事にアクセスできる必要があります。レールアプリのナビバーから記事にアクセスするときに未定義のメソッド 'each'
私のviews/application/_navbar.html.erb
私は以下のコードを抜粋しています。それは動作していないと私はアプリがhttp://localhost:3000/lcas/1
は私だけので、各カテゴリ内の最初の記事にアクセスできるようにする必要があります正しい道に行くドロップダウン内のリンクを打ったとき、私はいつもこのエラーundefined method 'each' for nil:NilClass
を取得しますhttp://localhost:3000/lcas/1
は私index.html.erb
オンviews/application/_navbar.html.erb
<ul class="dropdown-menu">
<% @lcas.each do |lca| %>
<li><%= link_to lca.title, lca_path(lca) %></li>
<% end %>
<% @energy_analyses.each do |energy_analysis| %>
<li><%=link_to energy_analysis.title, energy_analysis_path(energy_analysis) %></li>
<% end %>
<% @green_accountings.each do |green_accounting| %>
<li><%= link_to green_accounting.title, green_accounting_path(green_accounting) %></li>
<% end %>
<li class="divider"></li>
<li><a href="#">Something</a></li>
<li class="divider"></li>
<li><a href="#">something</a></li>
</ul>
からドロップダウン
コードの最初のリンクのための正しい道である私は基本的にSを持っていますそれは動作します。
<% @lcas.each do |lca| %>
<div class="col-md-4 col-xs-12">
<span class="glyphicon glyphicon-tasks icons" aria-hidden="true"> </span>
<div class="panel-heading">
<h3 class="panel-title"><%= link_to lca.title, lca_path(lca) %></h3>
</div>
</div>
<% end %>
私は、任意の成功application_controller.rb
ではなくアウトに
@lcas = Lca.all
@energy_analyses = EnergyAnalysis.all
@green_accountings = GreenAccounting.all
を追加しようとしました。ここ
は、誰かがこのを通して私を導くことができれば、それは非常にいいだろうlcas_controller.rb
class LcasController < InheritedResources::Base
private
def lca_params
params.require(:lca).permit(:title, :body, :image)
end
end
です。
を? – cobaltsoda
in its views/application/_navbar.html.erb – DaudiHell
インスタンス変数をクラス定義の中に直接置くのではなく、インスタンス変数を設定する 'application_controller.rb'に' before_action'を追加してみてください。 – cobaltsoda