link_to_remote等效于rails 4

时间:2016-09-03 08:42:41

标签: ruby ruby-on-rails-3 ruby-on-rails-4

我正在从rails2.3.5升级到rails4,我很难将link_to_remote转换为rails 4

link_to_remote("Retire", :url => { :action => :delete, :id => user.id },
               :condition => "confirm_retire(#{user.id})", :html => {:style => 'color: #CC0000;float:right;margin-right:8px;'})

我知道我们需要这个:remote =>与link_to类似

时为true
link_to('Retire', {:action => :delete, :id => user.id},
               :condition => "confirm_retire(#{user.id})", :remote => true,
               :class => 'retire')

但我面临的问题是:condition => " confirm_retire(#{user.id})",

如何处理这个?,我做了很多研究,但没有找到任何解决方案

1 个答案:

答案 0 :(得分:0)

link_to不支持条件选项。您可以使用link元素上的data属性在js文件中执行该检查,以便为条件提供值。

link_to('Retire', {:action => :delete, :id => user.id},:remote => true, :class => 'retire', :data-user-retire => "your_condition")

$('.retire').on('click', function(){
  if ($(this).attr('data-user-retire') == "your condition") {
    return true;
  } else {
    $(this).append("some message")
    return false;
  }
});

这只是一个例子,您需要根据您的要求进行修改。