wpp*_*wpp 12 javascript jquery ruby-on-rails
启用了Rails应用程序(3.2.8)和turbolinks(不确定是否相关).
link在用户显示页面上.(例如某事发生变化的通知.)目前我打算像这样处理它:
创建链接,使它们具有以下形式:
project2/comment.1453
创建一个notifications controller,获取projects2更改类型comment及其ID的内容1453.所以理论上我想重定向projects2并突出显示该页面上id为1453的评论.问题是:重定向后如何突出显示注释?
notificationscontroller.rb(伪代码!)
def show
project = Project.find(params[:project_id])
comment = Comment.find(params[:commment_id])
redirect_to project AND highlight!
end
Run Code Online (Sandbox Code Playgroud)
在我的研究期间,我遇到了Backbone,看起来像Backbones路由器可以通过使用函数响应url来解决这个问题(注释的突出显示).但我对Backbone没有任何经验.
我不确定这种功能的一般方法是什么.并希望避免走错路.如果你可以帮助我,那会很棒.
编辑:一个迷你问题的排序:我不确定使用哪个字符comment.1453是#一个更好的选择?(comment#1453)
除了在您重定向到的页面上包含javascript之外,您无法在重定向之后运行javascript.
您想要的是将此请求中的信息传递给下一个(重定向)请求.
闪光灯是一种很好的方法.通常你会用它来发短信:
redirect_to project, notice: "Project foo bar message"
Run Code Online (Sandbox Code Playgroud)
要么
flash[:notice] = "Project foo bar message"
redirect_to project
Run Code Online (Sandbox Code Playgroud)
没有什么可以阻止你在闪存中使用其他标识符并在其中存储JSON.
flash[:highlight_ids] = "[12, 43, 472, 482]"
redirect_to project
Run Code Online (Sandbox Code Playgroud)
然后在您的布局或某处将此Flash消息提取到JavaScript:
var highlight_ids = <%= flash[:highlight_ids] %>;
Run Code Online (Sandbox Code Playgroud)
然后做你的javascript魔术来突出显示实际的元素.