Ruby on rails Rails中的image\u to\u函数

Ruby on rails Rails中的image\u to\u函数,ruby-on-rails,ruby,Ruby On Rails,Ruby,我在rails上有这个方法,所以我有一个调用javascript函数的图像 def image_to_function(name, function, html_options = {}) html_options.symbolize_keys! tag(:input, html_options.merge({ :type => "image", :src => image_path(name), :onclick => (html_optio

我在rails上有这个方法,所以我有一个调用javascript函数的图像

def image_to_function(name, function, html_options = {})
  html_options.symbolize_keys!
  tag(:input, html_options.merge({ 
      :type => "image", :src => image_path(name),
      :onclick => (html_options[:onclick] ? "#{html_options[:onclick]}; " : "") + "#{function};" 
      }))
end
我从redmine的源代码中获取了这段代码,我遇到的问题是,当我点击图片时,它正在发送帖子,有人知道我该如何阻止它吗

这就是我使用它的方式

<%= image_to_function "eliminar-icon.png", "mark_for_destroy(this, '.task')" %>
非常感谢

如果onclick事件返回true,浏览器将跟随href,如果返回false,浏览器将不跟随。所以这里有个窍门:

def image_to_function(name, function, html_options = {})
  html_options.symbolize_keys!
  tag(:input, html_options.merge({ 
      :type => "image", :src => image_path(name),
      :onclick => (html_options[:onclick] ? "#{html_options[:onclick]}; " : "") + "#{function}; return false;" 
      }))
end
或者让{function}返回true或false,并在插值之前插入return语句。这样,被调用的函数可以控制浏览器是否应该遵循href


PS:您可能想替换标记:输入。。。使用指向函数图像路径名的链接。。。构造以便您也可以在表单之外使用它。

我已经解决了我的问题,问题是我没有使用image\u to\u函数方法,我不知道这是否是最好的方法,为什么不使用内置在Rails的link\u to helpers中的:confirm选项?