ruby-on-rails – 如何调用另一个控制器的方法
发布时间:2020-12-17 01:50:20 所属栏目:百科 来源:网络整理
导读:我需要从另一个控制器调用方法.什么是最好的方法?例如: catalogues_controller.rb class Site::CataloguesController ApplicationController respond_to :js,:html def index produc_list # call method other controller endend other_controller.rb clas
|
我需要从另一个控制器调用方法.什么是最好的方法?例如:
catalogues_controller.rb class Site::CataloguesController < ApplicationController
respond_to :js,:html
def index
produc_list # call method other controller
end
end
other_controller.rb class OtherController < ApplicationController
respond_to :js,:html
def produc_list
myObj = Catalagues.find(params[:id])
render :json => myObj
end
end
解决方法
您可以实现一个模块,并将其包含在Controller中.
我们称这个模块为“产品助手”: # In your app/helpers
# create a file products_helper.rb
module ProductsHelper
def products_list(product_id)
catalague = Catalagues.where(id: product_id).first
render :json => catalague
end
end
然后,在控制器中,您需要使用此方法: class Site::CataloguesController < ApplicationController
include ProductsHelper
respond_to :js,:html
def index
products_list(your_id) # replace your_id with the corresponding variable
end
end
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
