升级到Rails 3.1,现在我的高亮效果不起作用

时间:2011-12-23 09:16:59

标签: javascript ruby-on-rails-3.1

我正在将GiggleTrigger.com升级到Rails 3.1。当用户在一个妙语(橙色闪光)上投票时,该网站具有很酷的高光效果 - 如果您创建一个帐户,您可以自己尝试。

无论如何,当我升级到Rails 3.1时,高亮效果不再有效。

这是我原来的VotesController(我做了一个小改动,如下所示):

class VotesController < ApplicationController

  def create
    @punchline = Punchline.find(params[:punchline_id])
    @vote = @punchline.votes.build params[:punchline_id]
    @vote.user = current_user

    respond_to do |format|
      if @vote.save
        format.js
        format.html { redirect_to @punchline }
      else
        format.html { redirect_to root }
      end
    end
  end

class VotesController < ApplicationController def create @punchline = Punchline.find(params[:punchline_id]) @vote = @punchline.votes.build params[:punchline_id] @vote.user = current_user respond_to do |format| if @vote.save format.js format.html { redirect_to @punchline } else format.html { redirect_to root } end end end

我更改为(更改:punchline_id为:第4行投票):

class VotesController < ApplicationController
  def create
    @punchline = Punchline.find(params[:punchline_id])
    @vote = @punchline.votes.build params[:vote]
    @vote.user = current_user

    respond_to do |format|
      if @vote.save
        format.js
        format.html { redirect_to @punchline }
      else
        format.html { redirect_to root }
      end
    end
  end

视图如下所示:

class VotesController < ApplicationController
  def create
    @punchline = Punchline.find(params[:punchline_id])
    @vote = @punchline.votes.build params[:vote]
    @vote.user = current_user

    respond_to do |format|
      if @vote.save
        format.js
        format.html { redirect_to @punchline }
      else
        format.html { redirect_to root }
      end
    end
  end

这是ajax(作为create.js.rjs放在views / votes文件中):

<span id="vote_total_<%= punchline.id %>" class="punchline_votes"> <%= punchline.votes.size %> </span> <span id="vote_button"> <%= button_to 'giggle', punchline_votes_path(:punchline_id => punchline), :remote => true %> </span>

投票按钮(称为“傻笑”)在我改变之前没有创建投票:punchline_id to:vote。但它仍然没有给我闪光效果。我的想法是,也许我需要以某种方式将这个javascript引入资产管道。任何指导将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:2)

关闭顶部,这很可能是因为highlight是Prototype函数,Rails 3.1默认使用jQuery。