gpt4 book ai didi

ruby-on-rails - 在 Rails 中调用一个 Action 时调用不同的 Action

转载 作者:太空宇宙 更新时间:2023-11-03 16:48:37 25 4
gpt4 key购买 nike

假设我有 UsersController#show 操作。它默认呈现 users/show.html.erb

现在,我还有 ProductsController#index,它接收一个 Client id 并显示一个表格,其中包含属于该客户的所有产品。它呈现 products/index.html.erb

我想在用户想要查看 UsersController#show 时显示此产品列表。以下是一些这样做的想法:

  • 重定向 UsersController#showProductsController#index;
  • UsersController#show 中渲染 products/index.html.erb;
  • products/index.html.erb复制到users/show.html.erb

但是,我觉得这些解决方案并不是完成我想做的事情的最佳解决方案。还有其他更好的选择吗?如果不是,我应该遵循以上哪一项?

最佳答案

为什么不在 UsersController 的 show 方法下传入与该用户相关的产品?你可以做类似的事情

def show
@products = Products.where(user_id: @user.id).paginate(:page => params[:page], :per_page => 3)
end

或者如果你正在使用我会做的设计

def show
@products = Products.where(user_id: current_user.id).paginate(:page => params[:page], :per_page => 3)
end

然后在前端你可以简单地通过调用来渲染它

为了进行分页,我使用了 will_paginate gem

关于ruby-on-rails - 在 Rails 中调用一个 Action 时调用不同的 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28111951/

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