在我的rails项目中,我使用Carrierwave通过雾将图像上传到S3.到目前为止,我有CRUD频谱的创建读取和删除部分工作.
我的问题是编辑/更新部分.我使用相同_form.html.erb的编辑我用于创建记录.当我单击编辑链接时,表单会将所有数据加载到表单字段中以进行编辑,但图像除外.表单字段为空白,好像没有与记录关联的图像.
如何更新已保存到S3的图像?
型号/ listing.rb
class Listing < ActiveRecord::Base
attr_accessible :body, :price, :title, :image
mount_uploader :image, ListingUploader
end
Run Code Online (Sandbox Code Playgroud)
Controllers/listings_controller.rb(编辑/更新部分)
def edit
@listing = Listing.find(params[:id])
end
def update
@listing = Listing.find(params[:id])
if @listing.update_attributes(params [:listing])
redirect_to :action => 'show', :id => @listing
else
render :action => 'edit'
end
end
Run Code Online (Sandbox Code Playgroud)
_form.html.erb
<%= form_for @listing, :html => { :multipart => true } do |l| %>
<p>
<%= l.label :title %>
<%= l.text_field :title %>
</p>
<p>
<%= l.label :price %>
<%= …Run Code Online (Sandbox Code Playgroud) 这是我的第一个网站,我曾尝试使用Dokku在Digital Ocean上部署rails应用程序.
这是在Digital Ocean上托管的基本Ubuntu VM上的默认Dokku安装
当我尝试运行时:
dokku domains:add myapp mydomain.com
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
=====> unsupported vhost config found. disabling vhost support
=====> config:set-norestart is deprecated as of v0.3.22
-----> Setting config vars
NO_VHOST: 1
-----> VHOST support disabled, deleting four-heroes/VHOST
-----> Added mydomain.com to myapp
Run Code Online (Sandbox Code Playgroud)
尽管有错误,但最后一行看起来可能有效.但是,当我跑:
dokku domains myapp
Run Code Online (Sandbox Code Playgroud)
我收到这条消息.
=====> unsupported vhost config found. disabling vhost support
=====> config:set-norestart is deprecated as of v0.3.22
-----> Setting config vars
NO_VHOST: 1
=====> myapp Domain Names
cat: /home/dokku/myapp/VHOST: No such file or …Run Code Online (Sandbox Code Playgroud) 对于我的生活,我无法想象这一个.
在全新安装的atom上,我添加的任何黑暗语法主题都使文本下方的区域比页面的其他部分更暗.为了使这种情况更加分散注意力,这种效果会在第一次悬停在标签上时闪烁.
我忘记了技术细节.我有一个2015年初MBP与新的OS X Sierra安装.
我不知道这里出了什么问题.我按照这里的指示. http://www.rubytreesoftware.com/resources/ruby-on-rails-41-ubuntu-1404-server-deployment
我现在一直到部署部分没有错误我现在收到以下错误消息:
$ cap production deploy
INFO [0af71d8d] Running /usr/bin/env mkdir -p /tmp/keepr/ as deploy@crane.local
DEBUG [0af71d8d] Command: /usr/bin/env mkdir -p /tmp/keepr/
INFO [0af71d8d] Finished in 0.637 seconds with exit status 0 (successful).
DEBUG Uploading /tmp/keepr/git-ssh.sh 0.0%
INFO Uploading /tmp/keepr/git-ssh.sh 100.0%
INFO [1273b238] Running /usr/bin/env chmod +x /tmp/keepr/git-ssh.sh as deploy@crane.local
DEBUG [1273b238] Command: /usr/bin/env chmod +x /tmp/keepr/git-ssh.sh
INFO [1273b238] Finished in 0.103 seconds with exit status 0 (successful).
INFO [b0799806] Running /usr/bin/env git ls-remote --heads git@gitlab.com:forrest/keepr.git as deploy@crane.local
DEBUG …Run Code Online (Sandbox Code Playgroud) 我在生产服务器上设置了一个典型的 Rails 6.0.2 应用程序,并且我使用 git hooks 来部署该应用程序。当我尝试运行:rails assets:precompile我收到以下错误:
rake aborted!
Sprockets::ArgumentError: link_directory argument must be a directory
/home/user/myapp/app/assets/config/manifest.js:2
Run Code Online (Sandbox Code Playgroud)
这是manifest.js 文件
//= link_tree ../images
//= link_directory ../stylesheets .css
Run Code Online (Sandbox Code Playgroud)
我不明白我做错了什么。除非我弄错了,否则 webpacker 不会取代 sprocket 吗?
我有以下模型:
class Section < ApplicationRecord
has_many_attached :files
def to_dir
[client.to_dir, operation.to_dir, self.name.parameterize].join('/')
end
after_save :transload_files
def transload_files
TransloadService.sync( self.to_dir, self.files )
end
end
Run Code Online (Sandbox Code Playgroud)
方法transload_files是问题。这是转运服务:
class TransloadService
class << self
def sync(check_dir, files)
# First we have to check the transload dir for files that have been deleted on the app
transloaded_files = Request.list(check_dir)
cull_list = transloaded_files.reject{ |e| files.map{|t| t.filename }.include? Request.filename(e)}
if cull_list.count > 0
Request.trim(cull_list)
p "#{cull_list.count} files trimed from #{check_dir}."
end
# Next we have to …Run Code Online (Sandbox Code Playgroud) 我是一个完整的Python Newb
我需要遍历查找.txt文件的目录,然后单独读取和处理它们.我想设置它,以便脚本所在的任何目录都被视为此操作的根目录.例如,如果脚本位于/ bsepath/workDir中,那么它将循环遍历workDir及其子项中的所有文件.
到目前为止我所拥有的是:
#!/usr/bin/env python
import os
scrptPth = os.path.realpath(__file__)
for file in os.listdir(scrptPth)
with open(file) as f:
head,sub,auth = [f.readline().strip() for i in range(3)]
data=f.read()
#data.encode('utf-8')
pth = os.getcwd()
print head,sub,auth,data,pth
Run Code Online (Sandbox Code Playgroud)
这段代码给我一个无效的语法错误,我怀疑是因为os.listdir不喜欢标准字符串格式的文件路径.另外,我不认为我正在做循环行动.如何在循环操作中引用特定文件?它被打包为变量吗?
任何帮助都是适当的
我正在使用exif数据为我的图像提供字幕.
exif_read_data在localhost上使用工作正常(在Ubuntu上使用Apache),但Heroku报告:
PHP致命错误:在/ app/path/to/files中调用未定义的函数exif_read_data().
我不确定该怎么做,查看错误消息,看起来我的Heroku应用程序上没有安装/启用EXIF功能.
可以添加或启用吗?
我在这里挠挠脑袋想知道我是不是在叫错树.我有一台服务器,我已经使用Capistrano部署了Rails应用程序.最近我向其中一个模型添加了一个新的数据类型,现在我需要运行一个Rake任务来更新现有的记录.
经过大量的谷歌搜索后,我开始怀疑人们是否会使用Capistrano的Rake任务.2013年左右的一些论坛帖子提到Capistrano支持.rake扩展.而我发现的其他帖子表明Capistrano有自己的任务自动化系统,并且与rake不兼容.
我找到了Cape,但我不确定这是否是我正在寻找的,因为它似乎将Rake任务转换为帽子食谱.可能我错了这一点,我真的没有任何与Capistrano合作的经验,甚至没有在完整的堆栈频谱中工作.
我想知道的是:如何在远程服务器上运行简单的Rake任务?
为清楚起见,我已经在最新的Ubuntu LTS上安装了应用程序,如果内存服务,则安装14.10.我按照这里的教程进行操作.我有完整的sudo访问权限,我可以进入服务器.
提前感谢帮助一个菜鸟
TailwindCSS 看起来像一个很棒的前端工具,但我想知道如何将它与 Rails Slim 模板语言一起使用?
例如:
<div class="bg-red-500 sm:bg-green-500 md:bg-blue-500 lg:bg-pink-500 xl:bg-teal-500"></div>
Run Code Online (Sandbox Code Playgroud)
如果我通过 HTML2SLIM 运行它,我会得到以下建议:
.bg-red-500.sm:bg-green-500.md:bg-blue-500.lg:bg-pink-500.xl:bg-teal-500
Run Code Online (Sandbox Code Playgroud)
这会产生以下 HTML:
<div class="bg-red-500 sm">
<bg-green-500 class="md">
<bg-blue-500 class="lg">
<bg-pink-500 class="xl">
<bg-teal-500></bg-teal-500>
</bg-pink-500>
</bg-blue-500>
</bg-green-500>
</div>
Run Code Online (Sandbox Code Playgroud)
似乎冒号 ':' 被解释为多个 html 元素。我想知道是否有办法解决这个问题?我很想在 TailwindCSS 中使用 Slim。
到目前为止,我已经使用 Rails 的 content_tag 取得了一些进展:
= content_tag :span, 'Accounts', class: 'invisible md:visible lg:visible'
Run Code Online (Sandbox Code Playgroud)
但我只能到此为止。
我将我的应用程序从 Vultr 切换到 DigitalOcean。现在我在 Vultr 上配置了一个存储桶以及以前的服务器。当我尝试从 DigitalOcean 访问 Vultr 上的 activestorage 映像时,映像仅加载 10% 的时间,并且大多数请求都会导致 502 错误。
由于我完全将这个应用程序从 Vultr 中移走,我觉得将我的应用程序的图像资产转移到 DigitalOcean 存储桶是一个好主意。
我发现了很多带有迁移脚本的帖子和一些博客,但它们的重点是从本地迁移到存储桶。我还没有发现从一个桶移动到另一个桶的任何事情。
我不知道该怎么做,有没有人从一个桶移到另一个桶?如果是这样,你是怎么做到的?
我有一个Transaction模型,其中包含:start_balance和end_balance,两者都是十进制字段.开始余额大于期末余额的交易是收费的结果,付款则相反.
我有这个查询只查看end_balance大于start_balance(付款)的交易
class Transaction < ActiveRecord::Base
def self.payments
where(:end_balance > :start_balance)
end
end
Run Code Online (Sandbox Code Playgroud)
这两个字段通常都包含负值.这看起来很简单,但有趣的是,当我运行此查询时,它会将所有记录视为正面.例如,以下代码:
Transaction.payments.first(10).each do |t|
puts t.start_balance.to_s + " start"
puts t.end_balance.to_s + " end"
end
Run Code Online (Sandbox Code Playgroud)
生产:
0.0 start
-6212.0 end
-6212.0 start
0.0 end
0.0 start
-6212.0 end
-6212.0 start
0.0 end
0.0 start
-6212.0 end
-6212.0 start
0.0 end
0.0 start
-6212.0 end
-6212.0 start
0.0 end
0.0 start
-6212.0 end
-6212.0 start
0.0 end
Run Code Online (Sandbox Code Playgroud)
看着这一点,似乎它将所有数字视为积极的.我在这里错过了什么吗?
capistrano ×2
ruby ×2
atom-editor ×1
carrierwave ×1
dokku ×1
git ×1
heroku ×1
nginx ×1
php ×1
python ×1
rake ×1
slim-lang ×1
tailwind-css ×1
webpacker ×1