gpt4 book ai didi

ruby-on-rails - 在 ruby​​ on Rails 中单击按钮时调用操作

转载 作者:行者123 更新时间:2023-12-02 19:49:08 24 4
gpt4 key购买 nike

我在 lib 目录中定义了一个操作。该操作用于在服务器中发送 get 请求。我想在单击按钮时执行该功能。我怎样才能做到这一点?我知道这不是正确的做法。我是 Rails 新手。

show_document.rb(在lib目录中)

class Legaldoc::ShowDocument

def view_document(sessionID, token_document)
require 'rest-client'
require 'zip'
res = RestClient::Request.execute(
:method => :get,
:url => "http://myurl.com",
:headers => {
:ldsessionId => sessionID,
}
)
end
end

在我的 View 文件中

<%= link_to 'Button', '#', :onclick => "view_document(sessionID, token_document)" %>

最佳答案

我知道当您开始在 Rails 中进行开发时,这会让人感到困惑,但是您必须始终非常清楚代码在哪里运行。你的 ruby​​ 代码在服务器上运行,你的 html/js 在浏览器中运行。 Rails“准备”html/js,但是当您单击按钮时,您必须向服务器询问某些内容,您将必须使用url来访问/任何服务器。

或者您可以直接在客户端使用 javascript 来获取数据。

但是由于您已经在 lib 中拥有了代码,因此您必须

  • 添加端点,又称 Controller 中的操作(添加新 Controller 或在现有 Controller 中添加新操作,由于背景信息太少,这有点困难)
  • 添加到该 Controller /操作的路由
  • 添加 Controller 代码以调用您的 lib 函数并以与用户相关的方式格式化答案

然后添加按钮如下:

 <%= link_to 'Button', my_action_controller_path(session_id: sessionId, token_document: token_document) %>

(路径的名称取决于 Controller /操作的名称,您可以通过运行rake paths看到路由的名称)

但是您的代码似乎只是获取 myurl.com 上的页面,因此您也可以只构建一个指向 myurl.com 的链接?

<%= link_to 'Button', 'http://myurl.com', target: '_blank' %>

关于ruby-on-rails - 在 ruby​​ on Rails 中单击按钮时调用操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58608086/

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