我正在尝试使用jQuery点击按钮填充text_field并提出一些问题。我在这里发布了一个关于此的问题,但不确定提供的答案,因为它看起来过于复杂(可能是正确的,但我对实施没有好运)......
Ruby on Rails jQuery button click populate text_field
确认按照基督徒在其他问题中提到的方式或更简单的方式来做这件事会很棒,并且会非常感谢示例代码。正如在另一个问题中提到的,我对ROR和jQuery都很新。
关于这个问题的更多信息......
该按钮在new和edit.html.erb中都会退出,并且位于text_field旁边的form_for块中(我有一个单独的按钮来提交表单)。我希望能够使用Ruby方法SecureRandom.urlsafe_base64填充该字段。
从另一个问题可以看出,我得到了一些工作,但我现在陷入困境,而且变得非常绝望。
我将不胜感激任何帮助和示例代码。
非常感谢!
答案 0 :(得分:1)
我假设你已经包含了jQuery并且已经正常工作了。尽管如此,为了简单起见,将此javascript放在app / assets / javascripts / devices.js中。如果这样做,请确保同一目录中的application.js包含“// = require_tree。”(它将引入该目录中的所有文件,包括您刚创建的文件。)最重要的是,确保包含“ application.js“在正在呈现的布局中。 (可能是app / views / layouts / application.html.erb)
应用程序/资产/ Javascript角/ 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