我正在使用Paperclip-FFMEG将视频文件上传到我的开发环境(当我的项目投入生产时,最终会上传到本地服务器).
上传视频时,默认情况下,文件名如下:
/system/modelnames/paperclipnames/.../mynewfile.mp4?xxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
我相信问号后面的10位数字是一个时间戳.
但是,我将用来播放视频的播放器不希望在文件附件后有任何内容 - 所以我想在将URL传递给播放器之前删除问号和后面的时间戳.
我尝试使用以下Ruby(我认为)strip函数:
temp_variable = model.paperclipattribute.url(:blah).strip('?')[0]
Run Code Online (Sandbox Code Playgroud)
但是,Rails引发了一个错误:
wrong number of arguments(1 for 0)
Run Code Online (Sandbox Code Playgroud)
我认为我做错了吗?还有其他方法吗?我不想完全关闭时间戳,因为在这种情况下我只需要这样做.
谢谢!
我使用Brew安装了PostgreSQL(以前尝试使用PostgreSQL网站上的独立安装程序进行安装),但是当我尝试捆绑安装时收到以下错误消息:
Errno::EACCES: Permission denied - /Users/xxxxx/.rvm/gems/ruby-1.9.3-p194/gems/pg-0.14.1/.gemtest An error occurred while installing pg (0.14.1), and Bundler cannot continue. Make sure that `gem install pg -v '0.14.1'` succeeds before bundling.
Run Code Online (Sandbox Code Playgroud)
我在Stackoverflow上找到了各种可能的解决方案,但这些解决方案似乎都无法解决问题.
psql --version返回:9.2.1
which psql返回:/ usr/local/bin/psql
任何人都认识到这个错误,和/或有任何进一步的想法如何解决它?
如果做不到这一点,我想我可以在本地坚持使用SQLite,并在生产环境中使用PostgreSQL.我假设我需要手动对database.yml文件进行以下更改(我将第一次部署):
production:
adapter: postgresql
encoding: unicode
database: myapp_production
pool: 5
username: myapp
password:
Run Code Online (Sandbox Code Playgroud)
并且,在我的gemfile中,包含以下内容(请注意,运行bundle install会返回相同的错误,但是因为我假设生产服务器上的PostgreSQL安装没有任何错误,我认为它应该仍然有用吗?) :
group :production do
gem 'pg'
end
Run Code Online (Sandbox Code Playgroud)
编辑:如果宝石'pg'包含在gemfile中,那么Webrick根本不会运行.
编辑2:此外,当我尝试运行rvmsudo gem install pg时,我得到了这个:
ld: in /usr/local/lib/libssl.0.9.8.dylib, missing required architecture x86_64 in file
collect2: ld returned …Run Code Online (Sandbox Code Playgroud) 假设我有一个字符串,其中包含从Twitter抓取的文本,如下所示:
myString = "I like using @twitter, because I learn so many new things! [line break]
Read my blog: http://www.myblog.com #procrastination"
Run Code Online (Sandbox Code Playgroud)
然后在视图中显示推文.但是,在此之前,我想转换字符串,以便在我看来:
我敢肯定那里必须有一颗宝石可以让我这样做,但我找不到一颗.我遇到了twitter-text-rb,但我不太清楚如何将它应用到上面.我使用正则表达式和其他一些方法在PHP中完成它,但它有点乱!
在此先感谢任何解决方案!