Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RubyonRails。使用共享数据加载动态局部布局_Javascript_Jquery_Ruby On Rails_Ruby - Fatal编程技术网

Javascript RubyonRails。使用共享数据加载动态局部布局

Javascript RubyonRails。使用共享数据加载动态局部布局,javascript,jquery,ruby-on-rails,ruby,Javascript,Jquery,Ruby On Rails,Ruby,我是Ruby和RubyonRails的新手 我正在尝试使用共享数据动态加载模板 我有一个测验(在我的代码中命名为game),我会在游戏中添加一些问题,并动态地回答这些问题 在我的游戏/index.html.erb中,我有 <div class="form-group game"> <%= form.label(':name', "Quizz title") %> <%= form.text_field ':name', class: 'form-contro

我是Ruby和RubyonRails的新手 我正在尝试使用共享数据动态加载模板 我有一个测验(在我的代码中命名为game),我会在游戏中添加一些问题,并动态地回答这些问题

在我的游戏/index.html.erb中,我有

<div class="form-group game">
  <%= form.label(':name', "Quizz title") %>
  <%= form.text_field ':name', class: 'form-control form-control-sm' %>
</div>

<div class="questions"></div>

<div class="row form-actions">
  <div class="col-sm">  
    <%= link_to 'Add a question', add_partial_question_games_path, remote: true, "data-turbolinks": false, class: "btn btn-secondary" %>
  </div>

  <div class="col-sm text-right">
    <%= form.submit 'Save', :class => "btn btn-primary" %>
  </div>
</div>
对应的*.js.erb文件为:

// add_partial_question.js.erb
$(document).ready(function() {
  $('.questions').append("<%= escape_javascript(render :partial => 'games/partials/question') %>");
});

// add_partial_answer.js.erb
$(document).ready(function() {
  $('.answers').append("<%= escape_javascript(render :partial => 'games/partials/answer', :locals => { :question_key => question_key }) %>");
});
它不起作用

有什么想法吗?
非常感谢您的提问有点混乱,例如在您的
//add_partial_answer.js.erb
中,您使用了未定义的变量question_键,您的控制器不是RESTful等。因此,我没有一步一步地检查您的代码,而是将其放在您可以找到答案的地方。我希望它能帮助你解决问题。

你的问题有点混乱,例如在你的
//add_partial_answer.js.erb
你使用了变量question_key,它没有定义,你的控制器没有RESTful等等。所以我不是一步一步地检查你的代码,而是把它放在你能找到答案的地方。我希望它能帮助解决您的问题。

您好,是的,我的代码不完整。非常感谢你的链接,我在这里找到了我的答案:嗨,是的,我的代码不完整。非常感谢您的链接,我在这里找到了答案:
// add_partial_question.js.erb
$(document).ready(function() {
  $('.questions').append("<%= escape_javascript(render :partial => 'games/partials/question') %>");
});

// add_partial_answer.js.erb
$(document).ready(function() {
  $('.answers').append("<%= escape_javascript(render :partial => 'games/partials/answer', :locals => { :question_key => question_key }) %>");
});
  <div class="row">
    <div class="col-sm">
      <%= link_to 'Add an answer', add_partial_answer_games_path, remote: true, "data-turbolinks": false, class: "btn btn-secondary" %>
    </div>
 </div>
<div class="row">
  <div class="col">
    <%= text_field_tag "game[questions][#{question_key}][answers][#{answer_key}][text]", 'Your answer', class: "form-control"  %>
  </div>
</div>
respond_to do |format|
  format.js { render :locals => { :question_key => params[:question_key].to_i + 1 } }
end