我有服务和服务预订模型,我想通过检查servicebooking模型中的owner_id属性来查看当前用户提出的服务预订。如何使用if语句来过滤来自模型对象的记录ror
我servicebooking控制器的方法:
def myservicebookings
if current_user.id == @servicebooking.owner_id
@servicebookings = current_user.servicebookings.search(params[:search]).order(sort_column + " " + sort_direction).paginate(:per_page => 5, :page => params[:page])
else
"You have no service bookings"
end
end
我servicebookings查看:
<% if current_user.id == @servicebooking.owner_id %><% @servicebookings.each do |servicebooking| %>
<tr>
<td><%= servicebooking.date %></td>
<td><%= servicebooking.time %></td>
<td><%= servicebooking.service_name %></td>
</tr>
<% end %>
<% else %>
<%= "You have no outgoing service bookings" %>
<% end %>
目前我在尝试加载myservicebookings形式时,出现以下错误:
未定义的方法`owner_id”为零:NilClass
任何想法如何更改此代码以使其工作?在此先感谢你们。
嘿艾哈迈德感谢您的回答,我已经if语句到迁此myservicebookings控制器方法和我得到了同样的错误:未定义的方法'owner_id'为零:NilClass - if语句工作在视图中根据您的指示,但是返回了包括与所有者ID匹配的所有服务簿,所以我想在控制器级别进行过滤,请参阅我编辑的问题,并让我知道您是否有提示?在此先感谢 – Joshua
我无法看到您的问题中的更新,请您再次检查并发布更新的控制器的片段? –
我的歉意请看更新的答案 – Joshua