我有一个文件名为 的图像media_httpfarm3static_mAyIi.jpg。
我想在父文件夹及其所有子文件夹中搜索包含该名称的文件 - 它不必是确切的名称,但必须包含该字符串。
例如应该返回这个文件:11605730-media_httpfarm3static_mAyIi.jpg
所以这是一个由两部分组成的问题:
我有一个普通的 Carrierwave、Fog、S3 设置。上传到 S3 很好,但是当我在本地销毁 Rails 控制台中的记录,或者通过Delete链接从我的 Web 应用程序中删除时,它不会删除 S3 上的文件。
事实上,这就是我的日志的样子:
Started DELETE "/posts/13" for 127.0.0.1 at 2014-08-30 04:19:39 -0500
Processing by PostsController#destroy as HTML
Parameters: {"authenticity_token"=>"jcyevWU9M=", "id"=>"13"}
Post Load (0.3ms) SELECT "posts".* FROM "posts" WHERE "posts"."id" = $1 LIMIT 1 [["id", 13]]
User Load (0.3ms) SELECT "users".* FROM "users" WHERE "users"."id" = 1 ORDER BY "users"."id" ASC LIMIT 1
(0.3ms) SELECT COUNT(*) FROM "roles" INNER JOIN "users_roles" ON "roles"."id" = "users_roles"."role_id" WHERE "users_roles"."user_id" = $1 AND …Run Code Online (Sandbox Code Playgroud) 在我/post/index.html看来,我有这一行:
<%= post.status.upcase %>
Run Code Online (Sandbox Code Playgroud)
每当有一个post具有nil值的状态时,我都会收到此错误:
NoMethodError at /
undefined method `upcase' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)
如何安全地处理nil整个应用程序中的所有值,以便它不会抛出这样的错误,它只是优雅地降级甚至忽略它?
我是否必须遍历可能具有可返回 nil 的属性的每个视图和每个对象,并为每个视图和对象添加异常处理?
有没有一种“Rails-y”DRY 方法来处理这个问题?
我的Node模型上有一个方法如下:
def users_tagged
@node = self
@tags = @node.user_tag_list
@users = @tags.each do |tag|
User.find_by email: tag
end
end
Run Code Online (Sandbox Code Playgroud)
我想要发生的是@users对象是一个User记录集合,但它只返回一个电子邮件地址列表.
这就是这个Node对象的样子:
> n
=> #<Node id: 6, name: "10PP Form Video", family_tree_id: 57, user_id: 57, media_id: 118, media_type: "Video", created_at: "2015-03-09 20:57:19", updated_at: "2015-03-09 20:57:19", circa: nil, is_comment: nil>
> n.user_tags
=> [#<ActsAsTaggableOn::Tag id: 4, name: "gerry@test.com", taggings_count: 1>, #<ActsAsTaggableOn::Tag id: 3, name: "abc@test.com", taggings_count: 1>]
[135] pry(main)> n.user_tag_list
=> ["gerry@test.com", "abc@test.com"] …Run Code Online (Sandbox Code Playgroud) 我有以下 HTML:
<nav aria-label="breadcrumbs" role="navigation" class="breadcrumb">
<a href="/" data-analytics="{"click_id":291}" data-impressed="1">Home</a>
<i aria-hidden="true"></i>
<a href="/chicago-il">Chicago, IL</a>
<i aria-hidden="true"></i>
<span>Cpa</span>
</nav>
Run Code Online (Sandbox Code Playgroud)
我总是想选择第二个链接(又名<a href="/chicago-il">Chicago, IL</a>)。
我怎么做?
我有一个目录,其中包含一堆没有标题的CSV文件.
我尝试这样做:
def add_headers_to_csvs
csvs = Dir["#{@dir_name}/#{@state}/*.csv"]
csvs.each do |csv_file|
CSV.open(csv_file, "a+", write_headers: true, headers: ["Company_Name","Website","Street_Address", "City", "State", "Zip", "Phone","Email"]) do |csv|
end
end
end
Run Code Online (Sandbox Code Playgroud)
我希望这个write_headers和headers:选项能够起作用,但事实并非如此.
我如何完成我想要做的事情?
假设我有一个集合@lines,我想迭代它,但我想根据集合的内容来操纵它是如何迭代的,我该怎么做?
即是这样的:
@lines.each_with_index do |line, index|
if (index % 3 = 0)
jump_to index == next_multiple_of_3
end
end
Run Code Online (Sandbox Code Playgroud)
所以看起来像是这样的:
Element | Index
a | 1
b | 2
c | 3
f | 6
g | 7
h | 8
i | 9
l | 12
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
编辑1
请注意,正如我在下面的评论中所解释的那样,我不一定总是希望跳转到特定的倍数.基本上,我想跳转到一些任意索引,该索引由当前迭代中发生的事情决定.
所以第一次走动,它可以跳过3指数上涨,但是下一次跳跃7指数上涨,然后在接下来的5次1跳跃2指数正常,然后指数上涨.
唯一的常数是确定它在原始迭代中如何进展的方式是基于当前迭代块内发生的事情.
对于旨在处理用户提交的图像的Web应用程序,是否有更好的Web语言?
本质上是一个Web应用程序,将接受用户提交的图片,并能够创建相册等.Flickr或Facebook图片的所有功能.
除了语言之外,设计用于处理图像的Web应用程序还有什么不同于仅仅处理文本的Web应用程序,我应该从一开始就知道吗?
谢谢.
更新:
有没有办法处理图片大小调整 - 在客户端 - 除了Java小程序 - 这是所有主流浏览器和主要操作系统的通用?
更新2:
因此,共识似乎只是尝试各种语言和框架,看看我最喜欢哪个特定项目.我肯定会为初学者检查RoR和Django,然后如果我没有看到任何东西,我喜欢转移到PHP和一些框架.感谢所有的建议,感谢所有的答案和评论.
我希望以下代码始终位于右上角,无论大小如何(即,当用户调整浏览器窗口大小时,它仍处于相同位置):
<div id="navbar"><a href="#">Our Blog</a></div>
Run Code Online (Sandbox Code Playgroud)
随附的CSS如下:
#navbar {
position: absolute;
left: 850px;
width: 100px;
padding: 15px 0 0 0;
}
Run Code Online (Sandbox Code Playgroud)
我想只用CSS和HTML来做.
这有什么问题?
$("#tag_square").appendTo('#edit-area img').css({ position: "relative", left: "100px", top: "10px", z-index: "2"});
Run Code Online (Sandbox Code Playgroud)
z-index 之前的所有内容都可以完美运行。但是,一旦我包含 Z-index,我就会在 Javascript 控制台中收到一个“未捕获的 SyntaxError - Unexpected Token”。
是什么赋予了?
关于我做错了什么以及如何解决它的任何想法?