私のコントローラから値を取得しようとしていて、ログに正しく表示されています。しかし、私は私のビューでこれを印刷すると、エラーが発生します。Ruby on Rails - 値はログに正しく表示されますが、表示されません
コントローラー:
@leads = Lead.all.order('updated_at desc')
@leads.each do |k|
if k.lead_propertiesproperty_id = k.lead_properties.map(&:property_id)
properties = Property.where(:id => property_id)
category_ids = properties.map(&:property_category_id)
categories = PropertyCategory.where(:id => category_ids)
@category_names = categories.map(&:name).exists?
Rails.logger.debug("categories: #{categories.inspect}")
Rails.logger.debug("category_names: #{@category_names.inspect}")
else
@properties = "No Properties"
@locations = "No Locations"
end
end
@leads_total = Lead.all.count
ビュー:
<tbody>
<% @leads.each do |lead| %>
<tr class="<%=cycle('odd', 'even') %> location_row" id="lead_row" data-id="<%= lead.id%>">
<td><%= lead.id %></td>
<td><%= lead.fullname %></td>
<td><%= lead.email %></td>
<td><%= lead.phone %></td>
<td><%= @category_names.to_sentence %></td>
<td><%= select_tag :status, options_for_select(Lead.statuses.keys.to_a{|k, v| [k.humanize.capitalize, v]}, lead.status), :class => "lead_status"%></td>
<td><%= lead.created_at.strftime("%d %b. %Y - %T")%></td>
<td><%= link_to (fa_icon "pencil-square-o "), edit_lead_path({:id => lead.id, :first_last_name => lead.first_last_name}), :title => 'Edit Lead', :class => "action-button" %></td>
</tr>
<% end %>
</tbody>
エラー: コントローラでは、それが適切なカテゴリを与えるログ(。例えば机、仮想、プライベート)各リードの値ですが、ビューでは、リードごとに最後のリードのカテゴリ値を示します。
どういうところが違うのですか? –
エラーはなく、最初のリードのプロパティカテゴリの値を返します。 "バーチャル" ..代わりに、それは約行のカテゴリを与える必要があります。質問に更新を追加します。 –
エラーがどこにあるかは分かりません。あなたは何が望まれているのか、あなたは実際に答えを得るのかを記述してください。コードにコメントを追加して、何をしているのかを示すことができます。 –