gpt4 book ai didi

jquery - 在 Rails 中,如何从 Jquery 中将参数传递给 Controller ​​方法,然后获取返回值?

转载 作者:数据小太阳 更新时间:2023-10-29 08:44:39 25 4
gpt4 key购买 nike

在 Rails4 中,我在 Controller 中有一个名为 get_values_from_models 的方法,它接受一个参数 id:

app/controller/bugs_controller.rb

def get_values_from_models(id)
@online_bugs = Bugs.where(bug_id: id)
@devlopers = Devs.where(dev_role_id: 2)
end

我想在 Jquery 函数 show_bug_detail 中调用此方法,该函数位于局部 View 中:

app/view/bugs/_get_values.html.erb

var id =5;
function show_bug_detail(id) {
//call method get_values_from_models, pass parameters 'id'
//get @online_bugs and @developers instances from returned.
}

这可能吗?怎么做?我一直在寻找可能的解决方案一段时间但没有任何运气,如果有人能为我提供任何解决方案,我将不胜感激,谢谢。

最佳答案

现在请注意,出于示例目的,我已将路线创建为一个集合。但是,由于这确实是对资源本身的操作,因此从中创建一个成员会更有意义。也许你应该看看那个?这将创建一个类似/bugs/:id/get_values_from_models 的路由

我没有亲自测试以下代码,但这是基本思路。

为它创建一个路由,比方说:

(另请参阅 rails 指南以供引用:http://guides.rubyonrails.org/routing.html#resources-on-the-web)

resources :bugs do
get get_values_from_models, on: :collection
end

我不知道你的函数什么时候被触发,但是当它被触发时你可以输入下面的代码来使用 ajax get 来获取你的结果。

另请参阅 jQuery API 以供引用: http://api.jquery.com/jQuery.get/

$.get("bugs/get_values_from_models", {id: your_id}, function(data){
// do something with your data received if everything went ok.
// notice that you'll have to return json from your controller.
}, "json");

使您的方法“get_values_from_models”可访问(因此不是私有(private)的)。删除 id 作为参数。所以像这样:

def get_values_from_models
# when called you should receive a params[:id]
id = params[:id]

@online_bugs = Bugs.where(bug_id: id)
@developers = Devs.where(dev_role_id: 2)

# now return the results you'd like
render json: {online_bugs: @online_bugs, developers: @developers}
end

关于jquery - 在 Rails 中,如何从 Jquery 中将参数传递给 Controller ​​方法,然后获取返回值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33319924/

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