gpt4 book ai didi

ruby-on-rails - Rails Controller 中的持久参数

转载 作者:行者123 更新时间:2023-12-04 10:43:19 25 4
gpt4 key购买 nike

有没有办法在 Rails Controller 中保留(保留)参数?它应该传递给每个 Action ,然后传递给每个 View 和每个链接。

示例情况:
我有实体 A 及其 Controller 。此外,我有另一个依赖于 A 的实体 B。我需要经常访问“父”A 实体,所以我希望它仍然是
http://some_url/b_controller/b_action?a_entity=xyz

最佳答案

您应该能够通过 Controller 执行所有操作,使用 before_filter 的组合。和 default_url_options :

class MyController < ApplicationController

before_filter :set_a_entity

def set_a_entity
@a_entity = params['a_entity']
# or @a_entity = Entity.find(params['a_entity'])
end

# Rails 3
def url_options
{:a_entity => @a_entity}.merge(super)
end

# Rails 2
def default_url_options
{:a_entity => @entity}
end

end

这并没有解决设置 @a_entity的初始值的问题,但这可以从任何地方( View 、 Controller 等)完成。

如果你想让这个参数在多个 Controller 中传递,你可以替换 MyController < ApplicationControllerApplicationController < ActionController::Base它也应该工作。

希望这可以帮助。

关于ruby-on-rails - Rails Controller 中的持久参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6923399/

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