2012-04-17 86 views
0

我正在尝试引入POST链接工具提示。Rails POST引导链接工具提示

制作了提示定期GET链接工作正常:

%a{"href" => "#", "data-original-title" => "#{pluralize poem.score, 'vote'}", "data-placement" => "right", :rel => "tooltip"} 

不过,我敢肯定这是不可能指定上面的链接POST方法。

我可以使用Rails链接构建器将工具提示附加到链接吗?这可能吗?以下示例不起作用 - 没有工具提示。

=link_to "^", votes_path(vote: {poem_id: poem.id}), method: :post, "data-original-title" => "Vote up. Current score: #{poem.score}", "data-placement" => "right", :rel => "tooltip" 

如果这是不可能的,javascript解决方案是什么?

求解

我没有以正确的方式指定POST方法。这里有一个解决方案:

%a{"href" => "#{votes_url(vote: {poem_id: poem.id})}", "data-method" => "post", "data-original-title" => "#{pluralize poem.score, 'vote'}; click to vote.", "data-placement" => "right", :rel => "tooltip"} 
+0

一个锚元素只能引用一个HTTP GET方法。如果您想要POST或PUT,请使用表单。 – 2012-04-17 20:48:49

+1

要获得一个链接来触发一个帖子,必须使用javasacript:在这种情况下,''data-method“=>”post“'是rails标签后链接的方式,然后rails.js javascript使用它来将onclick事件附加到链接以覆盖默认行为。如果关闭JavaScript,您将发现该链接不再用作POST操作。 – DGM 2012-04-17 21:51:36

+0

感谢您的提高@dgm – bevanb 2012-04-17 23:22:49

回答

2

我没有指定正确的方式POST方法。这里有一个解决方案:

%a{"href" => "#{votes_url(vote: {poem_id: poem.id})}", "data-method" => "post", "data-original-title" => "#{pluralize poem.score, 'vote'}; click to vote.", "data-placement" => "right", :rel => "tooltip"}

0

试试这个:

=link_to "^", votes_path(vote: {poem_id: poem.id}), 
    :html => {:method => :post, 
    "data-original-title" => "Vote up. Current score: #{poem.score}", 
    "data-placement" => "right", :rel => "tooltip" } 
+0

没有工作......它仍然试图使用GET。刚用解决方案更新了我的帖子。 – bevanb 2012-04-17 20:53:14