gpt4 book ai didi

ruby-on-rails - 在 Rails 中将参数动态插入到 link_to

转载 作者:行者123 更新时间:2023-12-04 07:38:36 24 4
gpt4 key购买 nike

在我的主页中,我有一个用户可以输入搜索查询的输入框。然后我有一个link_to,它将使用搜索查询向不同的页面(搜索页面)发出get请求。根据设计,我不能使用 Rails form_for。

检测到输入框中的更改后,如何将查询动态插入到“link_to”?

这是一个模拟:

%input{:type => "text", :id => "my_input"}
= link_to "Search", posts_path(query: "my_query_here")
:javascript
$(function(){
$("#my_input").change(function() {
... do something here ...
});
});

谢谢你。

最佳答案

你不能。您的 javascript 无法侵入您的服务器端代码。但是,它可以破解服务器端代码的结果,即 HTML。

为了确保对您的帖子链接的查询正确匹配,您应该在 <%= link_to %> 中添加一个特定的 ID。 :

<%= link_to "Search", posts_path, :id => "search_link" %>

那么你的 javascript 应该是这样的:
$("#my_input").change(function() {
$("#search_link").attr("href","/posts?q=" + encodeURIComponent( $(this).val() ) );
});

感谢用户@beck03076 建议您可以简单地在单击时执行位置更改,而不是每次输入更改时更新链接:
$("#link").click(function() {
$(this).attr("href", "/posts?q=" + encodeURIComponent($("#my_input").val()));
});

取决于您究竟想要做什么,这可能与您的期望不完全相符。例如,如果您有一些其他代码检查链接 URL 以更新页面上的其他内容,则第二种方法将不起作用。另一方面,如果您只想在点击时执行搜索,这将更有效率。

关于ruby-on-rails - 在 Rails 中将参数动态插入到 link_to,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15145330/

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