一个系统上的控制器希望将数据发送到另一系统上的控制器

发布于 2024-12-29 11:08:32 字数 353 浏览 0 评论 0原文

我在一个系统上有一个 Ruby on Rails 应用程序(带有 ipaddress ip_a ),并且在另一个系统上运行相同的代码(带有 ipaddress ip_b )

因此,两者都有一个名为 Grid 的模型,

我希望更新 Grid 模型和 ip_b Grid 模型的信息。

我怎样才能做到这一点?

我尝试使用 ActiveRecord 的建立连接直接更新 Grid 模型。 我想知道是否可以通过 post 将对象从 ip_a 的控制器发送到 ip_b 的控制器。

任何人都知道如何解决这个问题 ?

I have a ruby on rails app on one system ( with ipaddress ip_a ) and the same code running on another system ( with ipaddress ip_b )

Thus, both have a model called Grid

I wish to update the Grid model of ip_a with ip_b Grid Model's information.

How can I achieve this ?

I have tried directly updating the Grid models using establish connection of ActiveRecord.
I am wondering if i can send a object from the controller of ip_a to the controller of ip_b through post.

Anyone know how to go about this
?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

心是晴朗的。 2025-01-05 11:08:32

我不确定这是最好的解决方案,但您可以使用 JSON< /a> 为此。
例如:

grids_controller.rb

def sync
  grid = Grid.find(params[:id])
  if grid
    client = HTTPClient.new
    json_params = client.get_content("http://your_ip_b_url/grid/#{params[:id]}.json")
    grid.update_attributes(ActiveSupport::JSON.decode(json_params))
  end
  respond_to do |f|
    f.js #in sync.js.erb you just modifying your index.html.erb to show that action is completed
  end
end

def show
  grid = Grid.find(params[:id])
  respond_to do |f|
    f.json { render :json => grid}
  end
end

和您的index.html.erb 您只需在@grids 列表中创建一个同步操作的链接,该链接可能是远程的。

当然,您需要重构它,并且可能需要更改一些东西,但我认为这是一个开始。

I'm not sure it's best solution, but you can use JSON for that.
So for example:

grids_controller.rb

def sync
  grid = Grid.find(params[:id])
  if grid
    client = HTTPClient.new
    json_params = client.get_content("http://your_ip_b_url/grid/#{params[:id]}.json")
    grid.update_attributes(ActiveSupport::JSON.decode(json_params))
  end
  respond_to do |f|
    f.js #in sync.js.erb you just modifying your index.html.erb to show that action is completed
  end
end

def show
  grid = Grid.find(params[:id])
  respond_to do |f|
    f.json { render :json => grid}
  end
end

and in your index.html.erb you just create a link to sync action in @grids listing which could be remote.

Of course you'll need to refactor that, and probably change few things, but i think it's a start.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文