如何限制Paperclip仅接受图像?如果相关,我正在使用Amazon S3进行存储.谢谢阅读.
我正在尝试vim,安装了一些插件,其中有一些NERDTree,跟着一些指南并设置了一个.vimrc(其中一半的内容我还不明白 - ).
令我恼火的是,如果我:wq,vim仍然活跃,它只会关闭文档的分屏.我最终得到了全屏NERDTree.在关闭最后一个标签或缓冲区时,我希望NERDTree也关闭.
或者我使用它错了?
我的sinatra应用程序必须解析一个~60MB的XML文件.这个文件几乎没有变化:在夜间的cron工作中,它被另一个人覆盖.
是否存在将解析后的文件作为变量保存在内存中的技巧或方法,以便我可以在传入的请求中读取它,但不必为每个传入的请求一遍又一遍地解析它?
一些Pseudocode来说明我的问题.
get '/projects/:id'
return @nokigiri_object.search("//projects/project[@id=#{params[:id]}]/name/text()")
end
post '/projects/update'
if params[:token] == "s3cr3t"
@nokogiri_object = reparse_the_xml_file
end
end
Run Code Online (Sandbox Code Playgroud)
我需要知道的是,如何创建这样一个@nokogiri_object,以便在Sinatra运行时它仍然存在.这有可能吗?或者我需要一些存储空间吗?
我想添加简单的网站搜索,使用Duckduckgo,仅限搜索"example.com".
Stackoverflow已经解决了这个问题,使用一些JavaScript将site:example.com过滤器添加到查询中.
<form onsubmit="var txt=$(this).find('input[name=\'q\']'); txt.val(txt.val() + ' site:stackoverflow.com');" action="http://www.duckduckgo.com/" method="get" id="duck-duck-go-search">
<input type="text" value="" maxlength="255" size="36" name="q">
<input type="submit" value="DuckDuckGo">
</form>
Run Code Online (Sandbox Code Playgroud)
不过,我更喜欢不依赖于JavaScript的解决方案.
网址应该是http://duckduckgo.com/?q=site:example.com%20might; 在site:example.com必须加入q=参数,它似乎.
有没有人为此找到一个简单的非JavaScript解决方案?
我有一个可以有0或1个配置文件的用户.在我的Controller中,如果给出了一些值,我想保存配置文件,如下所示:
# PUT /users/1
def update
@user = User.find(params[:id])
if @user.update_attributes(params[:user])
if params[:profile][:available] == 1 #available is a checkbox that stores a simple flag in the database.
@user.create_profile(params[:profile])
end
else
#some warnings and errors
end
end
Run Code Online (Sandbox Code Playgroud)
我想知道的部分是create_profile魔术create_somerelationname.这与魔术相比如何build_somerelationname?什么时候应该使用哪个?
在ActiveAdmin中,日期以所谓的美国格式打印%B %d, %Y %H:%M.例如March 19, 2013 13:25
但是,我的"默认"前端使用默认的Rails(ISO)格式打印它2013-03-07 14:12:31 UTC,如<%= Date.new %>在视图中的任何位置删除时所见.
安装vim-ruby-debugger后插件"劫持"了几个映射.喜欢<leader>n,或者<leader>t我分别用于NERDTreeToggle和Command-T查找.
罪魁祸首是在这个ruby-debugger中的硬编码映射中找到的.
我希望将这些重新映射为<leader>rdX,即:以*r*uby-*d*ebugger为前缀.显然,我可以简单地破解插件并更改那里的映射.但这似乎有些过于苛刻(并且可能会在更新时中断).
我如何取消映射这些映射,所以vim会再次回退到我自己的映射?所以我可以重新映射我的.vimrc中的命令(它应该在哪里,恕我直言).
我正在构建一个仅限JSON的应用程序,它基本上是一个更精简的Rails,具有更少的中间件和更少的模块.这是一个在Rails 4中构建的应用程序.
我想开发一个简单的应用程序,可以管理主应用程序的数据库中的数据.为此,我想使用Active Admin或Rails Admin.但是这两个选项都以某种方式使用底层模型及其验证,要求等构建.
这意味着我需要至少共享主应用程序和RailsAdmin应用程序之间的模型.
我最好怎么做?是否有关于如何在主应用程序旁边的单独rails应用程序中构建管理应用程序的良好指南,而不是将其集成?
作为旁注:另一个很好的理由将管理员保留在与主应用程序不同的应用程序中,但是在共享数据库上,是无数的依赖项,像ActiveAdmin这样的宝石.
另请注意,我不仅仅对在不同的域或不同的服务器上运行管理员感兴趣,而且主要是为了让主应用程序保持精简和专注.并且要保持ActiveAdmin之类的依赖关系来自我的主应用程序.
脚注:
更实用:我没有 Devise(它是一个JSON-API,所以经过令牌验证),没有任何视图或模板引擎.没有Formtastic,No Paperclip,Rmagic,Kminari(寻呼机)等等.当我拉入"只是一个管理员"时,所有这些都将被添加到我的应用程序中.
我知道如何使用self << class(eigenclass)添加类方法和类行为.但是,在阅读一些源代码时,我看到了另一种用法:
class LetterAvatar
class << self
class Identity
end
end
end
Run Code Online (Sandbox Code Playgroud)
这是如何运作的?它应该做什么以及什么时候应该使用它?写这个的(可能是更多公认的)替代方法是什么?
对于确定侧边栏行为的控制器,我需要调用几个URL; 侧边栏将根据其显示的页面更改(ao).
describe SidebarController do
before(:each) do
@sidebar = SidebarController.new
end
it 'should return :jobseekers for root_path' do
get(root_url)
@sidebar.section(root_path).should eq :jobseekers
end
end
Run Code Online (Sandbox Code Playgroud)
然而,这失败了 ActionController::RoutingError: No route matches {:controller=>"sidebar", :action=>"http://test.host/"}
我可以get将网址或路径作为字符串吗?是否有更智能的方法来设置request.数据,而不是GETting它?
activeadmin ×2
ruby ×2
vim ×2
activerecord ×1
get ×1
localization ×1
nerdtree ×1
paperclip ×1
rails-admin ×1
remap ×1
rspec ×1
scope ×1
sinatra ×1