gpt4 book ai didi

ruby-on-rails - 在我的 View 中使用 session 变量

转载 作者:行者123 更新时间:2023-12-03 16:05:04 25 4
gpt4 key购买 nike

有人告诉我,我不应该使用诸如 params[:user_id] 之类的变量。在我的 View 文件中。相同的规则是否适用于 session多变的?

如果没有,那我该怎么办?首先将它分配给一个实例变量,然后在 View 中使用它?这似乎很烦人,因为我必须为我的每个 Action 都这样做。我想我可以将这个重复的代码放在一个方法中,该方法被该类中的所有其他操作调用。

最佳答案

此建议来自构成 Rails 应用程序的不同组件之间“关注点分离”的最佳实践。确定当前用户的最佳位置是在您的 Controller 中。您可以在此处访问参数和/或 session 以确定是否有人直接或间接通过身份验证插件登录。然后,如果您在 View 中需要此信息,只需将其存储在诸如 @user 之类的变量中,该变量将自动在您的 View 中用于显示目的。这样做,如果您稍后更改您的身份验证机制,您可以在不触及您的 View 的情况下这样做,这很好地表明您在应用程序中的不同组件之间有很好的分离。

同样针对您问题的第二部分:

I guess I could put this repetitive code in one method which gets called by all the other actions in that class.



这可以通过 Controller 中的 :before_filter 轻松完成,您可以指向一个方法来检查身份验证并创建任何必要的实例变量以在 Controller 中的操作之间共享。

关于ruby-on-rails - 在我的 View 中使用 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/653916/

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