当我连接到我自己的服务器(本地)时,我正在尝试做某事.我从网站上找到了request.env,所以我使用该数组来比较我的IP.
<%
if request.env['HTTP_HOST']!="127.0.0.1" 
     puts request.env['HTTP_HOST']
else
     puts "its Local!"
end 
%>
当我在rails3中运行时,我没有打印任何东西......我是ruby&rails3的新手..
Mar*_*mas 12
如果要在网页中输出,请使用<%= %>,而不是<% %>.输出将是表达式的返回值,因此您不需要puts.
<%= 
   if request.env['HTTP_HOST']!="127.0.0.1"  
     request.env['HTTP_HOST'] 
   else 
     "its Local!" 
   end  
%> 
请注意,您也可以使用该local?方法而不是直接检查环境.
<%= 
   if request.local?
     "its Local!"
   else 
     request.env['HTTP_HOST']
   end  
%> 
如果您喜欢简洁,可以将其作为一行:
<%= if request.local? then "its Local!" else request.env['HTTP_POST'] end %>
要获得更加简洁的视图,请使用辅助方法:
<%= ip_or_local %>
您放置的匹配视图助手中的位置:
def ip_or_local
   if request.local?
     "its Local!"
   else 
     request.env['HTTP_HOST']
   end  
end
对于这个简单的情况,它可能有点过分,但一般来说,当你开始在视图中看到大量代码时,是时候考虑将某些东西隐藏在帮助器中了.
| 归档时间: | 
 | 
| 查看次数: | 633 次 | 
| 最近记录: |