如何在没有数据的情况下渲染部分

时间:2015-02-16 22:09:43

标签: javascript ruby-on-rails ruby-on-rails-4

我的应用程序中部分div运行良好。

通常:

控制器操作中的

@order = Order.where(service: params[:id], table: session[:table_id]).first
respond_to do |format|
  format.html
  format.js
end

in action.js.erb:

$('#order').html("<%= escape_javascript render(@order) %>");

在视图中:

<div id="order">
  <%= render @order unless @order.nil? %>

但当@ordernil时,我想呈现部分空白。像往常一样,nil何时收到错误:ActionView::Template::Error ('nil' is not an ActiveModel-compatible object. It must implement :to_partial_path.):

总结一下,当@ordernil时,我想用空白的“div”刷新部分。是什么方式?

2 个答案:

答案 0 :(得分:1)

$('#order').html("<%= escape_javascript @order ? render(@order) : '' %>");

答案 1 :(得分:0)

只有在不是

时才渲染它
<div id="order">
  <%= render @order unless @order.nil? %>
</div>