我试图在用户点击链接后完成两件事:
我使用Rails link_to_remote,我使用下面的代码获得的元素是在删除div之前添加:
<%= link_to_remote "✓",
:url => {
:controller => :movies,
:action => :mark_as_seen,
:movie => movie,
:render => 'movie' },
:success => "Effect.Fade('movie_#{movie.id}_wrapper', { duration: 0.4 })",
:update => "movies", :position => "bottom",
:failure => "alert('Ooops! An error occurred.')"
%>
我尝试将:update
和:position
置于:complete
回调中,但没有任何反应。当我将它们都放在:success
回调中(Effect.Fade
之后)时,我得到的只是一个解析错误。
有什么想法吗?
谢谢,
凯文
答案 0 :(得分:2)
我不完全确定我是否理解正确,但我猜您希望在更新操作发生之前删除div。
像往常一样,这非常简单:)
<%= link_to_remote "✓",
:url => {
:controller => :movies,
:action => :mark_as_seen,
:movie => movie,
:render => 'movie' },
:before => "Effect.Fade('movie_#{movie.id}_wrapper', { duration: 0.4 })",
:update => "movies", :position => "bottom",
:failure => "alert('Ooops! An error occurred.')"
%>
所以只需将:success
替换为:before
即可。希望这能做到你想要的:)
解释很简单:完成操作成功结束后执行:success
操作,更新也执行。在执行远程操作之前执行:before
操作。
例如,我一直使用它来在远程操作期间显示一个微调器。