不寻常的RJS错误

时间:2011-01-03 11:24:18

标签: ruby-on-rails

我的RoR应用程序中出现以下错误: RJS错误:

TypeError:element为null

Element.update(“notice”,“Comment Posted”); Element.update(“allcomments”,“\ n \ n \ n \ n \ n \ n现在是什么?\ n \ n \ n \ n \ n \ n \ n \ n \ asdfasdfa \ n \ n \ n \ n \ n \ asdfasdf \ n \ n \ n \ n \ n \ n \ n“;);

但是当我点击刷新按钮时,我可以看到我的部分更新。

这是我的代码:

show_comments查看:

<table>
<% comments.each do |my_comment| %>
  <tr>

    <td><%=h my_comment.comment%></td>
  </tr>
<% end %>
</table>

显示视图:

<div class="wrapper">
    <div class="rescale">
      <div class="img-main">
        <%= image_tag @deal.photo.url %>
      </div>

    </div>
    <div class="description">
    <p class ="description_content">
      <%=h @deal.description %>
    </p>
    </div>
    </div>
    <p>
      <b>Category:</b>
      <%=h @deal.category %>
    </p>

    <p>
      <b>Base price:</b>
      <%=h @deal.base_price %>
    </p>

    <%#*<p>%>
      <%#*<b>Discount:</b>%>
      <%#=h @deal.discount %>
    <%#*</p>%>

    <%= link_to 'Edit', edit_deal_path(@deal) %> |
    <%= link_to 'Back', deals_path %>

    <p>
      <%= render :partial=>'deal_comments', :locals=>{
          :comments=>Comment.new(:deal_id=>@deal.id)} %>
    </p>
    <div id="allcomments">
      <%=  render :partial=>'show_comments', :locals=>{
        :comments=>Comment.find(@deal.comments)} %>
    </div>

控制器:

    def create
        @comment = Comment.new(params[:comment])
        render :update do |page|
          if @comment.save
            page.replace_html 'notice', 'Comment Posted'
          else
            page.replace_html 'notice', 'Something went wrong'
          end
          page.replace_html 'allcomments', :partial=> 'deals/show_comments',
            :locals=>{:comments=> @comment.deal.comments}
        end
  end

  def show_comments
    @deal = Deal.find(params[:deal_id])
    render :partial=> "deals/show_comments", :locals=>{:comments=>@deal.comments}
  end
end

1 个答案:

答案 0 :(得分:0)

我看不到ID为'notice'的DOM元素 - 我错过了什么吗?你确实有一个我认为具有该ID的元素,否则,你会得到一个空例外。