我正在将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引入资产管道。任何指导将不胜感激。谢谢。
答案 0 :(得分:2)
关闭顶部,这很可能是因为highlight是Prototype函数,Rails 3.1默认使用jQuery。