Ruby On Rails控制器中如何通过实例变量实现长尾词的灵活应用?

2026-04-11 16:052阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计426个文字,预计阅读时间需要2分钟。

Ruby On Rails控制器中如何通过实例变量实现长尾词的灵活应用?

当有人登录我的应用时,我使用:def create @user=User.authenticate(params[:email], params[:password]) [操作]end 那么当有人注销时:def destroy @user=User.find_by_id(session[:user_id]) [操作]end 知识数据我已知:

当有人登录我的应用程序时,我使用:

Ruby On Rails控制器中如何通过实例变量实现长尾词的灵活应用?

def create @user = User.authenticate(params[:email], params[:password]) [...] end

那么,当有人注销时:

def destroy user = User.find_by_id(session[:user_id]) [...] end

知识

据我所知,变量范围work based on a scope,至少在Ruby(on Rails)上.

我们的朋友说:

In case of controllers, it present for that HTTP request alone, the object and the instance variables.

好.我在create方法上创建的变量范围对于destroy方法没用,但是我正在考虑这个主题并出现以下问题:无论HTTP请求如何,都有一种方法可以保留@user用于该控制器?

我的意思是,@在这种情况下对我来说似乎没用,因为它不灵活.我不知道,对我来说听起来很奇怪,我想不能重复使用它.

这就是网络的运作方式以及http为什么是“无状态协议”.您必须了解您没有开始运行程序并在用户注销时将其停止.但是你为每一个请求“重新启动”程序.这是一个新的实例,一个对最后一个一无所知的新进程,并确保与它共享无记忆.实际上,处理创建的Rails实例和处理destroy的Rails实例可以轻松地在两个物理上不同的服务器上运行!

没有状态(但是您在会话存储或URL参数中放置了什么). @在这种情况下意味着你​​的视图可以使用这个数据(在Ruby上下文中意味着Rails已经做了一些技巧来将它移交给那里,因为这些是两个不同的类,视图对控制器一无所知实例变量).

本文共计426个文字,预计阅读时间需要2分钟。

Ruby On Rails控制器中如何通过实例变量实现长尾词的灵活应用?

当有人登录我的应用时,我使用:def create @user=User.authenticate(params[:email], params[:password]) [操作]end 那么当有人注销时:def destroy @user=User.find_by_id(session[:user_id]) [操作]end 知识数据我已知:

当有人登录我的应用程序时,我使用:

Ruby On Rails控制器中如何通过实例变量实现长尾词的灵活应用?

def create @user = User.authenticate(params[:email], params[:password]) [...] end

那么,当有人注销时:

def destroy user = User.find_by_id(session[:user_id]) [...] end

知识

据我所知,变量范围work based on a scope,至少在Ruby(on Rails)上.

我们的朋友说:

In case of controllers, it present for that HTTP request alone, the object and the instance variables.

好.我在create方法上创建的变量范围对于destroy方法没用,但是我正在考虑这个主题并出现以下问题:无论HTTP请求如何,都有一种方法可以保留@user用于该控制器?

我的意思是,@在这种情况下对我来说似乎没用,因为它不灵活.我不知道,对我来说听起来很奇怪,我想不能重复使用它.

这就是网络的运作方式以及http为什么是“无状态协议”.您必须了解您没有开始运行程序并在用户注销时将其停止.但是你为每一个请求“重新启动”程序.这是一个新的实例,一个对最后一个一无所知的新进程,并确保与它共享无记忆.实际上,处理创建的Rails实例和处理destroy的Rails实例可以轻松地在两个物理上不同的服务器上运行!

没有状态(但是您在会话存储或URL参数中放置了什么). @在这种情况下意味着你​​的视图可以使用这个数据(在Ruby上下文中意味着Rails已经做了一些技巧来将它移交给那里,因为这些是两个不同的类,视图对控制器一无所知实例变量).