在轨道中的ajax调用期间丢失模板

时间:2016-11-24 04:33:42

标签: ruby-on-rails ajax form-for missing-template

  

我收到以下错误   *   缺少模板测验/ prev_question,application / prev_question with   {:locale => [:en] ,: formats => [:html],:variants => [],:handlers => [:erb,   :builder,:raw,:ruby,:coffee,:jbuilder]}。搜索范围:*   " /家庭/ ubuntu的/工作区/应用/视图" *   " /usr/local/rvm/gems/ruby-2.3.0/gems/devise-4.2.0/app/views" *

在我看来

<%= form_tag(prev_question_path(:id =>@quiz.id), method: 'post', remote: true, :format => 'js') do %>
   <%= hidden_field_tag :authenticity_token, form_authenticity_token %>
    <%= submit_tag("Prev",:class =>"btn btn-success") %>

在我的控制器中

  def prev_question
    @quiz = Quiz.find(params[:id])
    @question = @quiz.questions.order! 'created_at DESC'.first
    respond_to do |format|
      format.html {}
      format.json {}
    end

我创建了一个prev_question.js.erb文件

<% if !@question.option1.nil?%>
    $('#multiple-choices').show();
    $('#true-false').hide();
    $('#short-question').hide();
    $('#question_option1).val('<%= @question.option1%>')
    $('#question_option2).val('<%= @question.option2%>')
    $('#question_option3).val('<%= @question.option3%>')
    $('#question_option4).val('<%= @question.option4%>')
<%elsif !@question.anst.nil?%>
    $('#multiple-choices').hide();
    $('#true-false').show();
    $('#short-question').hide();
<%elsif !@question.anss.nil? %>
    $('#multiple-choices').hide();
    $('#true-false').hide();
    $('#short-question').show();
<%end%>
  

每当我收到错误模板的错误时,请告诉我   我做错了什么我看了几个问题   stackoverflow但没有解决方案

2 个答案:

答案 0 :(得分:1)

试试这个

进行ajax调用时,需要响应js格式。

class GirlTile(MapTile):
    def __init__(self,x,y):
        self.meet_girl = Girls()
        super().__init__(x, y)

    def intro_text(self):
        return "Hey whats up, my name is {}".format(self.meet_girl.name)

答案 1 :(得分:0)

看起来你的prev_question仅适用于AJAX,对吧? 那为什么不这样做呢?

respond_to(:js)