gpt4 book ai didi

javascript - 我使用 Ajax 的非常简单的一页 rails 有什么问题?

转载 作者:行者123 更新时间:2023-11-30 17:59:22 25 4
gpt4 key购买 nike

想要创建一个单页网站,有一个输入文本字段,用户将在其中输入一个数字,然后提交按钮将根据我用 Ruby 编写的算法在同一页面上输出一些字符串。

我已经创建了 Controller main_pages_controller.rb,它具有“home”作为与“home.html.erb” View 相关联的方法和部分显示输出“_goclick.html.erb”。在主页 home.html.erb 我放了这段代码:

Number: <input type="text" name="input_number">
<%= link_to "click here", {:action=>"go_convert"}, {:remote => true, :id=>"clk"} %>
<div id="allclick">
<%= render :partial => 'goclick' %>
</div>

在 Controller 中,我包含了一个名为 go_convert 的方法,我在其中嵌入了用于转换的 ruby​​ 代码。并用这些行结束方法

respond_to do |format|
format.js { render :layout=>false }
end

我还在与此代码相同的 View 文件夹下添加了一个 js 文件 (go_convert.js.erb)

$("#allclick").html("<%= escape_javascript(render(:partial => "goclick")) %>");

我已经将方法 go_convert 添加为路由配置文件的后路由当我单击“单击此处”链接时出现 js 错误

http://localhost:3000/main_pages/go_convert 404 (Not Found)

所以我也将这条路由添加到我的路由文件中

get "main_pages/go_convert"

现在单击“单击此处”链接时,没有任何反应,没有输出,没有页面重新加载,没有 javascript 错误..我究竟做错了什么?我正在使用 rails 3.2.12 和 Ruby 1.9.3

最佳答案

您为什么使用 link_to 而不是表单?除非您手动处理,否则我认为根本不会发送“text_number”输入字段值..

也许是这个原因?所以它呈现部分而没有任何结果与初始条件相同..

无论如何尝试使用远程表单,像这样:

<%= form_tag url_for(action: "show"), remote: true do %>
Number: <input type="text" name="input_number">
<%= submit_tag "click here" %>
<% end %>
<div id="allclick">
<%= render :partial => 'goclick' %>
</div>

你得到的“未找到”错误也可能是 link_to 使用 GET 请求的结果,通过使用默认使用 POST 请求的表单,你根本不需要添加 GET 路由

关于javascript - 我使用 Ajax 的非常简单的一页 rails 有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17408342/

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