我想要做的就是从本地文件中获取所有内容并将其存储在变量中.怎么样?
File.read(@icon.full_filename).each {|l| r += l}
只给了我一部分.在PHP中,我刚刚使用过file_get_contents.
原谅初学者的问题,但是说我有一个数组:
a = [1,2,3]
Run Code Online (Sandbox Code Playgroud)
而某个功能; 让我们说它是一个实例函数:
class Ilike
def turtles(*args)
puts args.inspect
end
end
Run Code Online (Sandbox Code Playgroud)
我如何调用Ilike.turtles,a就像我打电话一样(Ilike.new).turtles(1,2,3).
我很熟悉send,但这似乎并没有将数组转换为参数列表.
与我正在寻找的并行是Javascript apply,相当于call将数组转换为参数列表.
image_path 仅返回路径(无主机).
该url_for助手将不会接受一个单一的路径,所以像url_for(image_path('image.png'))行不通的.而内部url_for的ActionDispatch::Http::Url.url_for似乎做的伎俩(源),似乎没有成为它的公共接口.
我应该怎么做呢?最终,有一个像路由image_url一样的函数是很好的,url_for所以我可以调用image_url('image.png')并获得所有的绝对URL default_url_options.
有点垒球问题,但我的谷歌此刻逃过了我.
如何链接到当前页面,然后指定要合并到查询字符串中的参数?
例如,如果当前页面是/resources,我希望能够指定类似于current_page_plus(:param => 'attribute')评估的内容/resources?param=attribute.
希望这也会与现有属性合并,所以如果当前页面是/resources?a=b&c=d,那么current_page_plus(:c => 'e')将评估为/resources?a=b&c=e.
我的最终目标是创建几个静态HTML文件,以便传递给其他人.
但对于我的工作流程,我希望将HAML作为基本源文件.在这样做的时候,我希望至少在我这边干预这个过程.
现在我有很多页面最终将共享一个共同的布局,我想知道如何合并布局.
这是我目前的代码:
#!/usr/bin/env ruby
require 'rubygems'
require 'rake'
require 'haml'
FileList.new('./src/*.html.haml').each do |filename|
if filename =~ /([^\/]+)\.haml$/
File.open($1, 'w') do |f|
f.write Haml::Engine.new(File.read(filename)).render
end
end
end
Run Code Online (Sandbox Code Playgroud)
!!!
%html
%head
%title Yay
%body
= yield
Run Code Online (Sandbox Code Playgroud)
= render :layout => 'header' do
%p This is awesome
Run Code Online (Sandbox Code Playgroud)
现在,这显然不工作,因为渲染方法是未定义出的Rails的背景下,但我希望它得到跨我想要做的地步.
有什么建议?
我如何使用我的应用程序的参数过滤器手动过滤哈希?
我想它会是这样的:
Rails.application.filter :password => 'pass1234'
# => {:password => '[FILTERED]'}
Run Code Online (Sandbox Code Playgroud)
编辑(澄清):我知道Rails params在写入日志时会过滤哈希值.我想要做的是将相同的过滤器应用于我的特权的不同散列,然后再将其写入日志Rails.logger.info.我正在调用远程HTTP查询作为我的应用程序的一部分(因为大多数后端通过远程API操作),并且我正在记录传递的URL和参数.我想拥有日志,但也确保没有敏感的参数出现在那里.
有关简单的示例,请参见http://jsfiddle.net/FDhQF/1/.
未定义的内容与Javascript中未定义的内容之间有什么区别?例如,尝试访问未定义的对象的属性(实际上,尝试访问变量)将返回undefined.但你也可以设置一些东西= undefined.当你这样做,尝试访问它仍然返回undefined,但指针仍然存在.如上所示,一个例子是如何迭代对象仍然遍历您已经(重新)声明为未定义的属性.看起来有两种不同的未定义.任何人都可以对这种情况有所了解吗?
Rails的URL生成机制(大多数polymorphic_url在某些时候路由)允许将至少为GET请求序列化的哈希传递到查询字符串中.获得这种功能的最佳方法是什么,但是在任何基本路径之上?
例如,我想要有以下内容:
generate_url('http://www.google.com/', :q => 'hello world')
# => 'http://www.google.com/?q=hello+world'
Run Code Online (Sandbox Code Playgroud)
我当然可以编写自己的,完全符合我的应用程序的要求,但如果存在一些规范库来处理它,我宁愿使用它:).
所以派几个不同的状态标题在我的API,包括404,409,201,302等.现在我遇到了问题401 Unauthorized.我正在发送它,如果用户未登录(整个API是权限管理),或者如果用户不满足正在检索/修改的特定资源的特定访问要求.
现在,我还控制前端客户端(jQuery/HTML应用程序),我想区分这两种情况401.我是否应该使用未登录的独特状态?处理它的最佳方法是在标题旁边发送正文内容吗?
控制器代码:
class BooksController < ApplicationController
def index
@books = Book.all
respond_to do |format|
format.html do
render 'index', :layout => 'topgun'
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
我应该如何在规范中测试这个?
require 'spec_helper'
describe BooksController do
describe "GET index" do
it "renders the topgun layout" do
get :index
# ???
end
end
end
Run Code Online (Sandbox Code Playgroud)
我检查了这个相关的帖子,但我的response对象似乎没有layout属性/方法.