想要创建一个单页网站,有一个输入文本字段,用户将在其中输入一个数字,然后一个提交按钮将在同一页面上输出一些基于我用 Ruby 编写的算法的字符串。
我创建了控制器 main_pages_controller.rb ,它具有“home”作为与“home.html.erb”视图关联的方法和显示输出“_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>
在控制器中,我包含了一个名为 go_convert 的方法,我在其中嵌入了用于转换的 ruby 代码。并以这些行结束该方法
respond_to do |format|
format.js { render :layout=>false }
end
我还使用此代码在同一视图文件夹下添加了一个 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