Ruby on rails 帮助解释这段Rails代码

Ruby on rails 帮助解释这段Rails代码,ruby-on-rails,ruby,Ruby On Rails,Ruby,这是什么 "#{h params[:chat_input]}" 我指的是散列#和h最有可能是在双引号字符串中,例如“Ponies all love”{h params[:chat#u input]}!表达式导致对stuff表达式进行解释并插入字符串。例如“1+2=#{1+2}”将导致字符串“1+2=3” h是该方法的一个别名,这是很自然的。这很可能是在一个双引号字符串中,例如“Ponies all love{h params[:chat_input]}!”表达式导致对stuff表达式进行解释并

这是什么

"#{h params[:chat_input]}"

我指的是散列
#
h
最有可能是在双引号字符串中,例如
“Ponies all love”{h params[:chat#u input]}!
表达式导致对stuff表达式进行解释并插入字符串。例如
“1+2=#{1+2}”
将导致字符串
“1+2=3”


h
是该方法的一个别名,这是很自然的。

这很可能是在一个双引号字符串中,例如
“Ponies all love{h params[:chat_input]}!”
表达式导致对stuff表达式进行解释并插入到字符串中。例如
“1+2=#{1+2}”
将导致字符串
“1+2=3”


h
是该方法的别名,这是不言自明的。

它只是在字符串中插入一个值。:chat_输入是一个符号,用于代替字符串,因为符号只创建一次。

它只是在字符串中插入一个值。:chat_输入是一个符号,用于代替字符串,因为符号只创建一次。

粘贴的代码本身只是一条注释。不过,我假设代码在字符串中

"hello, #{5 + 5}"
# => hello, 10
括号内的语句将作为Ruby进行计算。这称为字符串插值

代码中插值内的语句是获取参数的方法

h params[:chat_input]
h(params[:chat_input])
h
方法是
html\u escape
的快捷方式,它可以转义html。例如,
被转换为
span
,以便浏览器显示字符串的实际内容,而不是将其解释为HTML

html_escape(params[:chat_input])
您可能知道什么是
params


总之,无论参数[:chat_input]包含什么,都会得到一个HTML转义版本。

粘贴的代码本身只是一个注释。不过,我假设代码在字符串中

"hello, #{5 + 5}"
# => hello, 10
h(something)
括号内的语句将作为Ruby进行计算。这称为字符串插值

代码中插值内的语句是获取参数的方法

h params[:chat_input]
h(params[:chat_input])
h
方法是
html\u escape
的快捷方式,它可以转义html。例如,
被转换为
span
,以便浏览器显示字符串的实际内容,而不是将其解释为HTML

html_escape(params[:chat_input])
您可能知道什么是
params

总之,对于params[:chat_input]包含的任何内容,您都会得到一个HTML转义版本

h(something)

由于ruby不强制使用(),因此rails中提供了一个函数,可以将参数转换为“安全HTML”字符串,从而避免解释“something”变量中可能的HTML代码

"#{x}"
在ruby中,表示将x变量转换为字符串并将其放入新字符串中,例如:

"#{host}:#{port}"
将主机的值和端口的值放入由“”组成的新字符串中,如果主机为“localhost”,端口为30,则结果字符串为“localhost:30”

params是一个特殊的rails散列,它包含传递给正在执行的控制器方法的post/get参数

另一个细节是,在ruby中,方法总是返回最后计算的表达式

那么方法呢

def test
   "#{h params[:chat_input]}"
end
将返回一个字符串,该字符串具有post/get参数chat_输入的HTML安全值

由于ruby不强制使用(),因此rails中提供了一个函数,可以将参数转换为“安全HTML”字符串,从而避免解释“something”变量中可能的HTML代码

"#{x}"
在ruby中,表示将x变量转换为字符串并将其放入新字符串中,例如:

"#{host}:#{port}"
将主机的值和端口的值放入由“”组成的新字符串中,如果主机为“localhost”,端口为30,则结果字符串为“localhost:30”

params是一个特殊的rails散列,它包含传递给正在执行的控制器方法的post/get参数

另一个细节是,在ruby中,方法总是返回最后计算的表达式

那么方法呢

def test
   "#{h params[:chat_input]}"
end
将返回一个字符串,该字符串具有post/get参数chat_input的HTML安全值

“{h params[:chat_input]}”

在ruby中,双引号字符串允许对表达式求值并自动转换为字符串

我可以这样做:

years = 25
"John is " + years +  " years old"  
但是我会得到一个错误,因为我无法将数字添加到字符串中

我能行

"John is #{years} years old"
为了避开这个问题

h()方法是一个Rails帮助函数,用于删除HTML标记。这是一件安全的事情

最后,params()是Rails中的一个方法,它允许您访问GET和POST参数。它实际上是包装一个hash GET和POST参数以减少内存(符号只定义一次,而像“foo”这样的字符串每次都是一个新对象)

因此,params[:chat_input]从上一个请求的GET或POST参数中检索值,在您的例子中,它看起来只是在显示和清理它们

希望有帮助

“{h参数[:聊天输入]}”

在ruby中,双引号字符串允许对表达式求值并自动转换为字符串

我可以这样做:

years = 25
"John is " + years +  " years old"  
但是我会得到一个错误,因为我无法将数字添加到字符串中

我能行

"John is #{years} years old"
为了避开这个问题

h()方法是一个Rails帮助函数,用于删除HTML标记。这是一件安全的事情

最后,params()是Rails中的一个方法,它允许您访问GET和POST参数。它实际上是包装一个hash GET和POST参数以减少内存(符号只定义一次,而像“foo”这样的字符串每次都是一个新对象)

因此,params[:chat_input]从上一个请求的GET或POST para检索值