在nginx网站上阅读这篇文章,我有兴趣以Apache或Lighttpd用户可能使用X-Sendfile头来帮助提供大文件的方式使用X-Accel-Redirect头.
我发现的大多数教程都要求你修改nginx配置文件.
其次,
注意 - 我已经通过电子邮件向Heroku支持和goncalossilva发送电子邮件,询问他们相同的问题,但我不知道他们何时会回复我.我会回复他们告诉我的任何事情.
我注意到stackoverflow只在登录页面上使用SSL,并且可以通过HTTP发布问题/答案.
用户必须登录才能这样做,所以我想知道如果没有使用SSL,stackoverflow如何设法跟踪登录的用户.
目前我正在制作一个rails应用程序,它使用cookie跟踪登录状态.我一直认为你需要SSL来安全地做到这一点.但我是通过HTTP发布的,作为登录用户.
当我运行tcpdump -i eth0 -A然后访问stackoverflow时,我注意到一个名为'usr'的cookie ,并且该cookie以明文传输,没有SSL.如果我通过不安全的连接登录,如无线网吧,黑客/数据包嗅探器可以带我的usr cookie,并重播我的会话吗?
我想避免在我的rails应用程序中使用SSL(因为我的主机充电臂和腿来实现它),所以我想使用与stackoverflow相同的技术.我希望让用户无需SSL即可登录.
我猜这里正在使用数据库(或memcache/redis)会话存储.但是肯定还需要某种cookie吗?为什么这些cookie不必通过SSL发送?是否有其他事情在后台进行,使这些cookie对不同机器上的黑客造成多余影响?
我正在尝试在Mac OS Yosmite上安装bundler gem
~/code/hello gem install bundler
ERROR: Loading command: install (LoadError)
cannot load such file -- zlib
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
我做了以下事情:
这真的很有用.Ruby 2.2.1工作正常但2.2.2每当我尝试安装gem时都会导致这个问题.
有人有任何想法吗?
我有一个Foo模型,其中:创建时需要名称.
我正在编写一个规范来测试验证
it 'should not create an invalid Foo' do
fill_in "Name", :with=>""
# an error message will be displayed when this button is clicked
click_button "Create Foo"
end
Run Code Online (Sandbox Code Playgroud)
如何确认页面上是否存在错误消息?
我试过page.errors.should have_key(:name)但这不对.
我想我可以做page.should have_content("Name can't be blank")但我宁愿避免将我的集成测试与内容强烈耦合
我有以下用户模型:
class User < ActiveRecord::Base
# Users table has the necessary password_digest field
has_secure_password
attr_accessible :login_name, :password, :password_confirmation
validates :login_name, :presence=>true, :uniqueness=>true
# I run this validation on :create so that user
# can edit login_name without having to enter password
validates :password,:presence=>true,:length=>{:minimum=>6},:on=>:create
# this should only run if the password has changed
validates :password_confirmation,
:presence=>true, :if => :password_digest_changed?
end
Run Code Online (Sandbox Code Playgroud)
这些验证并不像我希望的那样完成.可以执行以下操作:
# rails console
u = User.new :login_name=>"stephen"
u.valid?
# => false
u.errors
# => :password_digest=>["can't be blank"],
# => …Run Code Online (Sandbox Code Playgroud) Viget的实验室发布的文章和要点,详细说明增加一个特别的类(如导轨辅助方法,.selected或.active)的导航链接,如果它的URL当前路径相匹配.
您可以在布局中使用它,如下所示:
= nav_link "News", articles_path, {class: "btn btn-small"}
<!-- which creates the following html -->
<a href="/articles" class="btn btn-small selected">News</a>
Run Code Online (Sandbox Code Playgroud)
尼斯.我正在使用bootstrap,并希望在我的按钮中有一个图标,所以我需要生成以下html:
<a href="/articles" class="btn btn-small selected"><i class="icon-home"> </i> News</a>
Run Code Online (Sandbox Code Playgroud)
我分享了要点并想出了一个简单的方法.我的fork允许开发人员将:inner_html和:inner_class传递给helper,如下所示:
= nav_link "News", articles_path, {class: "btn btn-small"}, {inner_html: 'i', inner_class: 'icon-home'}
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我不喜欢我的底层实现:
def link
if @options[:inner_html]
link_to(@path, html_options) do
content_tag(@options[:inner_html], '', :class => @options[:inner_class]) + " #{@title}"
end
else
link_to(@title, @path, html_options)
end
end
Run Code Online (Sandbox Code Playgroud)
如您所见,我将新选项传递 …
我有一个js.erb文件,我执行ajax GET,如下所示:
$.get("<%= j @stored_location %>");
Run Code Online (Sandbox Code Playgroud)
一切都很好,但我的服务器日志显示:
Processing by XyzController#index as */*
Run Code Online (Sandbox Code Playgroud)
我知道" / "的意思是"任何格式",一切都运行得很好,所以我想知道是否有任何意义,试图确保Rails明确地处理这个动作:js.我是否需要在$.get通话中添加内容?我应该打扰吗?
我最近读过的所有python tuts告诉我要做这样的事情:
pip install tornado
pip install requests
Run Code Online (Sandbox Code Playgroud)
每次我这样做都会受到permission denied警告.但是一切都通常适用于我sudo.
是否需要sudo?如果是这样,为什么这么多教程说明没有提到呢?
在ruby中我们可以使用Rbenv或RVM进行安装,这两者都不需要使用sudo.在python中有任何等价物吗?或者暗示你应该永远sudo?
我试图弄清楚如何在以下场景中使用 Ruby 的安全运算符:
if attribute_value && attribute_value.length > 255
Run Code Online (Sandbox Code Playgroud)
如果 attribute_value 为零,则以下内容不起作用:
if attribute_value&.length > 255
# NoMethodError: undefined method `>' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
我明白为什么,但我想知道如何解决这个问题。以下工作,但它是丑陋的地狱:
if attribute_value&.(length > 255)
Run Code Online (Sandbox Code Playgroud)
这样做的推荐方法是什么?我想我可以做到以下几点:
if attribute_value&.length.to_i > 255
Run Code Online (Sandbox Code Playgroud)
对于这种情况,这还不错。还要别的吗?
我有一个用户资源,其中:name是模型上的必需属性。
如果我尝试创建一个没有名称的新用户,则验证失败并且错误消息按预期显示在表单顶部,但页面的 URL 从/users/new, 变为/users?
直到今晚我第一次开始玩水豚时,我才注意到这种行为,并期望验证失败后的 current_path 为http://localhost:3000/users/new
我不明白为什么我的规范失败了:
it 'should not create an invalid user' do
fill_in "Name", :with=>""
click_button "Create User"
current_path.should == new_users_path
end
Run Code Online (Sandbox Code Playgroud)
我已经验证它发生在我所有的其他 rails 应用程序中,所以我意识到这就是 rails 的工作方式,但我真的不明白这里发生了什么。为什么它会这样工作?为什么验证失败时路径会从new_users_path变为users_path?
这让我非常困惑