gpt4 book ai didi

javascript - rails link_to 发送 get 而不是 post

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:44:22 24 4
gpt4 key购买 nike

我有一些链接想发送 POST 请求,但它们正在发送 get

<p class="tags">
<% tags.keys.each do |key| %>
<% if tags[key] == 1 %>
<%= link_to by_tag_media_path(:tag => key), :remote => true, :method => :post do %>
<span class="font-18"><%= key %></span>
<% end %>
<% elsif tags[key] == 2 %>
<%= link_to by_tag_media_path(:tag => key), :remote => true, :method => :post do %>
<span class="font-24"><%= key %></span>
<% end %>
<% elsif tags[key] == 3 %>
<%= link_to by_tag_media_path(:tag => key), :remote => true, :method => :post do %>
<span class="font-36"><%= key %></span>
<% end %>
<% end %>
<% end %>
</p>

此链接位于名为 _tags.html.erb 的部分中,在 index.html.erb 页面上部分调用所在的位置我有此 js 代码:

function apply_filters(load_more){
var params = "";

$("a.selected").each(function(i, obj){
params += $(this).text() + "/"
});

$("a.type_class").each(function(i, obj){
params += $(this).text() + "/";
});

if(load_more){
$.post("/media/filtered", {filters: params, load_more: true});
} else {
$.post("/media/filtered", {filters: params});
}
}

$("#filtered_media_path").click(function(){
apply_filters(true);
});

当调用此 js 代码时,我重新呈现 _tags.html.erb 部分并且链接正常工作(发送 POST)但是当最初呈现页面时,它们发送 GET 请求。渲染后的 html 代码在两种情况下都是相同的。

部分类(class)表格索引页:

<span id="cards">
<%= render :partial => "media_cards", :locals => {:media_cards => @media_cards, :tags => @tags, :featured_cards => @featured_cards} %>
</span>

和 media_cards 部分:

 <div class="card media-card search hide-for-mobile">
<input type="text" name="search-value" id="search_value"/>

<span id="tags">
<%= render :partial => "tags", :locals => {:tags => tags} %>
</span>
</div>

by_tags.js.erb:

$("#cards").html("<%= escape_javascript(render :partial => 'media_cards', :locals => {:media_cards => @media_cards, :tags => @tags, :featured_cards => @featured_cards}) %>");

生成的 html 如下所示:

<a href="/media/by_tag?tag=test" data-method="delete" data-remote="true" rel="nofollow">
<span class="font-36">test</span>
</a>

最佳答案

这是 link_to 原型(prototype)

link_to(body, url, html_options = {})

你正在做的是传递错误的参数所以改变你的代码

link_to("some text", by_tag_media_path(:tag => key),  :remote => true, :method => :post)

关于javascript - rails link_to 发送 get 而不是 post,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22660127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com