如果没有必要以远程形式响应如何在Rails 3上处理它?

时间:2013-10-23 11:00:38

标签: ruby-on-rails render

如果没有必要以远程形式回复如何处理它?<​​/ p>

错误是

ActionView::MissingTemplate (Missing template carts/search_book_by_sn, application/search_book_by_sn with {:locale=>[:en], :formats=>[:js, :html], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in:

我控制器中的代码。 因为

  

如果会话[:loaded_books] .include? @ book.id

是错误结果的条件,所以我不想执行任何Javascript。保持原点与原点相同

respond_to do |format|
  # format.js

  if session[:loaded_books].include? @book.id
    format.js
  else
    ap("Add into Array")
    session[:loaded_books] << @book.id
    ap(session[:loaded_books])

    format.js { render :action => 'add_to_cart'}

  end

end

提前致谢

3 个答案:

答案 0 :(得分:7)

如果您不想发送任何回复或呈现任何视图,那么写入操作

render :nothing => true

答案 1 :(得分:1)

respond_to do |format|
  # format.js

  if session[:loaded_books].include? @book.id
    format.js {render :nothing => true } # this might help
  else
    ap("Add into Array")
    session[:loaded_books] << @book.id
    ap(session[:loaded_books])

    format.js { render :action => 'add_to_cart'}

  end

end

答案 2 :(得分:1)

只需渲染:nothing =&gt;在您的控制器中为true