我犯了一个错误....我不知道如何解决它.
我解释了这个问题.
我正在研究我的项目,我做了第一次提交.在这个提交中添加了2个无用的大文件......我不想要这些文件,所以我做了一个
git rm file
Run Code Online (Sandbox Code Playgroud)
然后再次提交.而我是愚蠢的,因为我推到了github hehehe :).
我想你已经发现了问题......
如何从我的本地和github存储库中删除这些文件(尤其是github ...)
我在互联网上找到了一些帮助,但我不想破坏我的所有存储库.
谢谢
我有一个系统供用户发表评论.
评论被抓到一个文本区域.
我的问题是用br标签格式化注释以替换\n
事实上,我可以做那样的事情
s.gsub(/\n/, '<br />')
但是包含在rails中的xss保护逃脱了br标签.
所以我能做到这一点
s.gsub(/\n/, '<br />').html_safe
但是,所有标签都被接受甚至脚本....导致一个很大的安全问题
所以我的问题是:如何安全地使用br格式化文本?
谢谢
编辑:目前,我已经添加了这个
def sanitaze
self.gsub(/(<.*?>)/, '')
end
def nl2br
self.sanitaze.gsub(/\n/, '<br />').html_safe
end
Run Code Online (Sandbox Code Playgroud) 我不知道Postgres能够理解这个消息.
PG::Error: SSL error: decryption failed or bad record mac : SELECT a.attname, format_type(a.atttypid, a.atttypmod), d.adsrc, a.attnotnull FROM pg_attribute a LEFT JOIN pg_attrdef d ON a.attrelid = d.adrelid AND a.attnum = d.adnum WHERE a.attrelid = '"users"'::regclass AND a.attnum > 0 AND NOT a.attisdropped ORDER BY a.attnum
Run Code Online (Sandbox Code Playgroud)
这是来自resque后端的callstack
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:1139:in `async_exec'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:1139:in `exec_no_cache'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:663:in `block in exec_query'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:280:in `block in log'
/app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.2.2/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:275:in `log'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:662:in `exec_query'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:1264:in `column_definitions'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:858:in `columns'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/connection_adapters/schema_cache.rb:12:in `block in initialize'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/model_schema.rb:228:in `yield'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/model_schema.rb:228:in `default'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/model_schema.rb:228:in `columns'
/app/vendor/bundle/ruby/1.9.1/gems/activerecord-3.2.2/lib/active_record/model_schema.rb:237:in …Run Code Online (Sandbox Code Playgroud) 一些方法已被Rails3弃用.特别是以下电话就是这种情况!
Error.find(:all, :select => 'DISTINCT type')
Run Code Online (Sandbox Code Playgroud)
有人有想法,如何将此调用转换为ActiveRecord3有效语句?
我在网上什么都没发现......
谢谢
我已将我的应用程序从rails 2.3迁移到rails3,我的回形针有问题.我看到在paperclip git上有一个rails3的分支.
所以我在Gemfile中添加了"gem'paperclip',:git =>'git://github.com/thoughtbot/paperclip.git',: branch =>'rails3'"并启动命令bundle install.
安装回形针后,上传工作正常,但不是样式.我看到了修复它的黑客攻击.
# in lib/paperclip/attachment.rb at line 293
def callback which #:nodoc:
# replace this line...
# instance.run_callbacks(which, @queued_for_write){|result,obj| result == false }
# with this:
instance.run_callbacks(which, @queued_for_write)
end
Run Code Online (Sandbox Code Playgroud)
之后风格还可以,但我无法激活处理器.我的代码是:
has_attached_file :image,
:default_url => "/images/nopicture.jpg",
:styles => { :large => "800x600>",
:cropped => Proc.new { |instance| "#{instance.width}x#{instance.height}>" },
:crop => "300x300>" },
:processors => [:cropper]
Run Code Online (Sandbox Code Playgroud)
我的处理器位于RAILS_APP/lib/paperclip_processors/cropper.rb中,包含:
module Paperclip
class Cropper < Thumbnail
def transformation_command
if crop_command and !skip_crop?
crop_command + super.sub(/ -crop \S+/, …Run Code Online (Sandbox Code Playgroud) 我想改变float实例的self值.
我有以下方法:
class Float
def round_by(precision)
(self * 10 ** precision).round.to_f / 10 ** precision
end
end
Run Code Online (Sandbox Code Playgroud)
而且我想添加round_by!将修改自我值的方法.
class Float
def round_by!(precision)
self = self.round_by(precision)
end
end
Run Code Online (Sandbox Code Playgroud)
但我得到一个错误,说我无法改变自我的价值.
任何的想法 ?
我正面临使用Chrome从Amazon S3下载PDF文件的问题.
当我单击链接时,我的控制器将请求重定向到S3上的文件URL.
它与Firefox完美配合,但Chrome没有任何反应.
然而,如果我执行右键单击 - > 保存位置,将下载文件...
甚至将S3 URL复制粘贴到Chrome中也会导致空白屏幕...
以下是curl返回的一些信息:
Date: Wed, 01 Feb 2012 15:34:09 GMT
Last-Modified: Wed, 01 Feb 2012 04:45:24 GMT
Accept-Ranges: bytes
Content-Type: application/x-pdf
Content-Length: 50024
Server: AmazonS3
Run Code Online (Sandbox Code Playgroud)
我的猜测与内容类型的问题有关......但我尝试过的都没有用.
我正在开始一个项目,我希望能够测试一切:)
我在CanCan和设计方面遇到了一些问题.
例如,我有一个控制器联系人.每个人都可以查看,每个人(除了被禁止的人)都可以建立联系.
#app/controllers/contacts_controller.rb
class ContactsController < ApplicationController
load_and_authorize_resource
def index
@contact = Contact.new
end
def create
@contact = Contact.new(params[:contact])
if @contact.save
respond_to do |f|
f.html { redirect_to root_path, :notice => 'Thanks'}
end
else
respond_to do |f|
f.html { render :action => :index }
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
代码工作,但我不知道如何测试控制器.我试过这个.如果我评论load_and_authorize_resource行,这是有效的.
#spec/controllers/contacts_controller_spec.rb
require 'spec_helper'
describe ContactsController do
def mock_contact(stubs={})
(@mock_ak_config ||= mock_model(Contact).as_null_object).tap do |contact|
contact.stub(stubs) unless stubs.empty?
end
end
before (:each) do
# @user = Factory.create(:user)
# sign_in @user
# @ability = …Run Code Online (Sandbox Code Playgroud) 我想使用net-ssh库在我的服务器上执行一些远程命令.
我有以下示例:
Net::SSH::start(host, user, options = {:keys => '~/.ssh/id_rsa'}) do |ssh|
puts ssh.exec!("echo $PATH")
ssh.loop
end
Run Code Online (Sandbox Code Playgroud)
结果是:/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games
我的问题是我没有应该加载我的PATH.
我还应该有一些RVM路径,以及定义到我的.zshrc中的自定义路径.
我怎么能改变这种行为让net-ssh使用我的.zshrc加载我的默认环境?
解:
puts ssh.exec!("source ~/.zshrc; echo $PATH")
Run Code Online (Sandbox Code Playgroud) 我有一台安装了RVM的服务器.
Nginx配置了Passenger来处理ruby 1.9.2和Rails 3.
我愿意用ruby 1.8.7安装rails 2应用程序.
我安装了ruby 1.8.7并通过转到ruby 1.8.7源代码并编译和安装.so来安装openssl.
如果我启动irb并尝试要求'openssl'响应,如果"true"
[root@server:/home/redmine/www/redmine-1.0.4/]#irb
irb(main):001:0> require 'openssl'
=> true
irb(main):002:0>
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试启动例如rake gems:install,这是响应.
rake gems:install
(in /home/webapps/redmine-1.0.4)
rake aborted!
no such file to load -- openssl
(See full trace by running task with --trace)
zsh: exit 1 rake gems:install
Run Code Online (Sandbox Code Playgroud)
有人有想法吗?
谢谢 !