在Rails中,可以通过使用AJAX技术从JavaScript查询数据库并填充文本框。以下是一种实现方法:
jquery-rails
和responders
gem:gem 'jquery-rails'
gem 'responders'
bundle install
安装gem。//= require jquery
//= require jquery_ujs
UsersController
的控制器,你可以在其中创建一个名为search
的动作:class UsersController < ApplicationController
def search
@user = User.find_by(name: params[:name])
respond_to do |format|
format.js
end
end
end
search.js.erb
的视图文件,该文件将在AJAX请求成功时被渲染。在该文件中,你可以使用JavaScript代码来更新文本框的值。例如:$('#user_name').val('<%= j @user.name %>'); // 假设你有一个名为user_name的文本框
UsersController
的search
动作。例如:get 'users/search', to: 'users#search'
<button id="search-btn">搜索</button>
$(document).on('click', '#search-btn', function() {
var name = $('#search-input').val(); // 假设你有一个名为search-input的输入框
$.ajax({
url: '/users/search',
type: 'GET',
data: { name: name },
dataType: 'script'
});
});
这样,当用户点击搜索按钮时,将发送一个AJAX请求到UsersController
的search
动作,该动作将查询数据库并将结果返回给search.js.erb
视图文件,然后更新文本框的值。
请注意,这只是一种实现方法,你可以根据自己的需求进行调整和修改。另外,对于数据库查询和填充文本框的具体逻辑,你需要根据你的应用程序的数据模型和需求进行相应的编写。
领取专属 10元无门槛券
手把手带您无忧上云