我正在尝试在我的管理区域中显示特定用户的帐单详细信息。我要做的就是在文本字段中输入用户 ID,然后按提交,链接到该 user_id 的帐单将显示在下表中。到目前为止,这是我的 cac 付出的努力:
管理员/index.html.erb
<%= form_tag(:action => "show_billings") do %>
<div class="field">
<p>User ID</p>
<%= text_field_tag :user_id %>
</div>
<div class="actions">
<%= submit_tag "Show Billing For This User", :class => 'btn btn-success' %>
</div>
<% end %>
<table class="table table-hover table-striped table-bordered">
<thead style="background-color: #efefef">
<tr>
<th>Date</th>
<th>Description</th>
<th>Debits</th>
<th>Credits</th>
<th>Balance</th>
</tr>
</thead>
<tbody>
<% @billings.each do |billing| %>
<tr>
<td><%= billing.date %></td>
<td><%= billing.description %></td>
<td><%= number_to_currency(billing.debits) %></td>
<td><%= number_to_currency(billing.credits) %></td>
<td><%= number_to_currency(billing.balance) %></td>
</tr>
<% end %>
</tbody>
</table>
admin_controller.rb
def show_billings
billings = Billing.where(:user_id => params[:user_id])
if billings.nil?
@billings = Billing.where(:user_id => '22')
else
@billings = billings
end
end
我收到以下错误,这就是为什么我试图让@billings 不为零:
undefined method `each' for nil:NilClass
我不知道 def show_billings 是否有必要,对 Rails 来说还是很新,我所做的一切总是错误的,所以这可能也是,我该如何解决?