Ajax请求将值传递给rails控制器

时间:2014-03-09 05:14:06

标签: javascript jquery ruby-on-rails ajax twitter-bootstrap

我一直在努力争取如何使这项工作成功。我正在使用bootstrap pager方法为我一直在玩的语言学习网站提供'next','previous'和'take quiz'按钮。我已经得到了javascript和ajax工作,当我点击按钮时,不需要页面刷新,我也可以检测单击某个特定按钮的时间。

我遇到的困难是提交另一个ajax请求以将信息传递回我的rails控制器。例如,如果单击下一个按钮或采取测验按钮,则会增加一个变量,然后我需要使用该变量来更新我的数据库和服务器端。前一个按钮执行相同操作但递减变量。

这是我的JS:

    $(function() {

function nextHandler() {
gon.bookmark = gon.bookmark + 1; #using gon gem and bookmark is a column in my DB

} 

function previousHandler() {
 gon.bookmark = gon.bookmark - 1; #using gon gem and bookmark is a column in my DB
}  

function takeQuizHandler() {
 gon.bookmark = gon.bookmark + 1; #using gon gem and bookmark is a column in my DB
}  

$(".Next").click(nextHandler);
$(".Previous").click(previousHandler);
$(".TakeQuiz").click(takeQuizHandler);
});

继承我的观点文件:

   <div class="center hero-unit">

    <%= @word.english %>, <%= @word.english_to_spanish %>



    <% if @lastDigit == 0 %>
      <ul class="pager">

        <li class="Previous"><a href="/langs/<%= @wordBM - 1 %>">Previous</a></li>


        <li class="TakeQuiz"><a href="/langs/<%= @wordBM + 1 %>">Take Quiz</a></li>

      </ul>
    <% elsif @lastDigit == 1 %>
      <ul class="pager">

        <li class ="Next"><a href="/langs/<%= @wordBM + 1 %>">Next</a></li>

      </ul>
    <% else %>
      <ul class="pager">

        <li class="Previous"><a href="/langs/<%= @wordBM - 1 %>">Previous</a></li>


        <li class="Next"><a href="/langs/<%= @wordBM + 1 %>">Next</a></li>

      </ul>
    <% end %>

    </div>

这是我的langs控制器:

class LangsController < ApplicationController


  def show
    @word = Lang.find(params[:id])

    @wordBM = current_user.bookmark

    gon.bookmark = @wordBM

    digitArray = @wordBM.to_s.split('')
    lastIndex = digitArray.length - 1
    @lastDigit = digitArray[lastIndex].to_i


  end

end

非常感谢任何帮助,如果我发生错误请告诉我。我绝对是铁杆菜鸟。

0 个答案:

没有答案