Ruby on Rails的按钮点击使用jQuery来填充text_field(Ruby on Ra

2019-10-16 15:13发布

我想以填充使用jQuery一个按钮,点击一个text_field并有几个问题。 我发布了关于这个问题在这里,但不知道有关规定,因为它似乎过于复杂的答案(这可能是正确的,但我曾与执行没有运气)...

Ruby on Rails的jQuery的按钮,然后单击填充text_field

这样做的方式提到基督教中的其他问题,还是最简单的确认将是巨大的,和示例代码将不胜感激。 正如在其他问题中提到我很新的这两个ROR和jQuery。

关于这个问题的一些详细信息...

在这两个新的和edit.html.erb和位于旁边的一个text_field一个的form_for块按钮退出(I有一个单独的按钮以提交表格)。 我希望能够填充使用Ruby方法SecureRandom.urlsafe_base64领域。

  1. 我在使用button_tag正确吗?
  2. 应该在哪里javascript文件进行定位,我读过一些关于这一点,有些人认为是创造一个edit.js.erb文件,并有该控制器还为JavaScript回应。 我有点不确定不过这个过程,当我需要在新的编辑页面类似的功能,一个全球jQuery的功能会更好。
  3. 如果在调用从jQuery的通过控制器的方法是正确的方式可能有人请提供的如何,因为我想在没有运气,这是做了一些示例代码。 如果有可能从js.erb文件调用SecureRandom.urlsafe_base64并且每个按钮被点击时有现场升级,这将是理想的。

如可以在其他问题中可以看出我有什么工作,但我现在坚持与它变得很绝望。

我将是任何帮助和示例代码感激。

万分感谢!

Answer 1:

我假设你拥有jQuery的包括正确已经工作。 随着中说,并为简单起见,把这个在JavaScript的应用程序/资产/ Java脚本/ devices.js。 如果你这样做,确保您的application.js在同一目录包括“// = require_tree。”(这将在该目录中的所有文件,包括您刚才创建的一个拉。)首先,确保你在其中“ application.js中”在真实所呈现的布局。 (可能的应用程序/视图/布局/ application.html.erb)

应用程序/资产/ Java脚本/ devices.js:

$(function(){
  $("#deviceIDbutton").click(function(e){
      $.get("/generate_device_id", function(data){
      $("#deviceIDfield").val(data);
    });
    e.preventDefault();
  })
})

然后,添加路由,因此AJAX调用知道什么控制器和动作叫...

应用程序/配置/ routes.rb中

get '/generate_device_id', :to=>"devices#generate_device_id"

然后,添加控制器动作,将调用你问SecureRandom的方法...

应用程序/控制器/ devices_controller.rb

def generate_device_id
 render :text=>SecureRandom.urlsafe_base64
end


文章来源: Ruby on Rails button click to populate text_field using jQuery