我知道这个问题已被问过几次,但我遇到了麻烦。
我正在创建一个简单的刽子手游戏,我创建了一个键盘,所以有26个表单看起来像这样:
<%= form_for @puzzle, :remote => true, :html => {:class => 'keyq'} do |f|%>
<%= f.hidden_field :letters_guessed, value: "Q" %>
<% end %>
我将字母存储在数组类型db field :letters_guessed
然后我用它来循环查看用户是否猜到了这封信。
<div class="mystery">
<% @puzzle.word.length.times do |digit| %>
<% letter = @puzzle.word[digit] %>
<% if @puzzle.word[digit] == " " %>
<br>
<% elsif @puzzle.letters_guessed.include?(letter.upcase)%>
<%= letter %>
<% else %>
<%= "_" %>
<% end %>
<% end %>
</div>
基本上,我需要用新数组更新神秘div。截至目前,当我提交表格时,没有任何反应(我想是可以预料的)。
这是我的控制器动作
def update
@puzzle.letters_guessed = @puzzle.letters_guessed + [params[:puzzle][:letters_guessed]]
@puzzle.save
respond_to do |format|
format.html
format.js
end
这里的想法是我创建一个新数组,然后保存它。我现在不知道如何处理渲染。
我在与其他视图相同的目录中创建了一个_puzzle.js文件...如何在不实际刷新页面的情况下将新数组恢复到我的视图?