小编Ste*_*ven的帖子

将本地文件的内容读入Rails中的变量

我想要做的就是从本地文件中获取所有内容并将其存储在变量中.怎么样?

File.read(@icon.full_filename).each {|l| r += l}

只给了我一部分.在PHP中,我刚刚使用过file_get_contents.

ruby ruby-on-rails

74
推荐指数
3
解决办法
9万
查看次数

给定一组参数,如何将这些参数发送到Ruby中的特定函数?

原谅初学者的问题,但是说我有一个数组:

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将数组转换为参数列表.

ruby arrays arguments function

66
推荐指数
1
解决办法
2万
查看次数

如何在Rails 3.1中获取资产的绝对URL?

image_path 仅返回路径(无主机).

url_for助手将不会接受一个单一的路径,所以像url_for(image_path('image.png'))行不通的.而内部url_forActionDispatch::Http::Url.url_for似乎做的伎俩(),似乎没有成为它的公共接口.

我应该怎么做呢?最终,有一个像路由image_url一样的函数是很好的,url_for所以我可以调用image_url('image.png')并获得所有的绝对URL default_url_options.

ruby-on-rails ruby-on-rails-3

47
推荐指数
4
解决办法
3万
查看次数

link_to当前页面加上/与param合并

有点垒球问题,但我的谷歌此刻逃过了我.

如何链接到当前页面,然后指定要合并到查询字符串中的参数?

例如,如果当前页面是/resources,我希望能够指定类似于current_page_plus(:param => 'attribute')评估的内容/resources?param=attribute.

希望这也会与现有属性合并,所以如果当前页面是/resources?a=b&c=d,那么current_page_plus(:c => 'e')将评估为/resources?a=b&c=e.

ruby-on-rails ruby-on-rails-3

37
推荐指数
1
解决办法
2万
查看次数

在HAML文件中使用独立于Rails的布局

我的最终目标是创建几个静态HTML文件,以便传递给其他人.

但对于我的工作流程,我希望将HAML作为基本源文件.在这样做的时候,我希望至少在我这边干预这个过程.

现在我有很多页面最终将共享一个共同的布局,我想知道如何合并布局.

这是我目前的代码:

./compile.rb

#!/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)

./src/layout.html.haml

!!!
%html
  %head
    %title Yay
  %body
    = yield
Run Code Online (Sandbox Code Playgroud)

./src/home.html.haml

= render :layout => 'header' do
  %p This is awesome
Run Code Online (Sandbox Code Playgroud)

现在,这显然不工作,因为渲染方法是未定义出的Rails的背景下,但我希望它得到跨我想要做的地步.

有什么建议?

ruby haml

36
推荐指数
2
解决办法
2万
查看次数

手动过滤Rails中的参数

我如何使用我的应用程序的参数过滤器手动过滤哈希?

我想它会是这样的:

Rails.application.filter :password => 'pass1234'
  # => {:password => '[FILTERED]'}
Run Code Online (Sandbox Code Playgroud)

编辑(澄清):我知道Rails params在写入日志时会过滤哈希值.我想要做的是将相同的过滤器应用于我的特权的不同散列,然后再将其写入日志Rails.logger.info.我正在调用远程HTTP查询作为我的应用程序的一部分(因为大多数后端通过远程API操作),并且我正在记录传递的URL和参数.我想拥有日志,但也确保没有敏感的参数出现在那里.

ruby-on-rails

32
推荐指数
2
解决办法
2万
查看次数

Javascript中未定义和未定义之间的区别

有关简单的示例,请参见http://jsfiddle.net/FDhQF/1/.

未定义的内容与Javascript中未定义的内容之间有什么区别?例如,尝试访问未定义的对象的属性(实际上,尝试访问变量)将返回undefined.但你也可以设置一些东西= undefined.当你这样做,尝试访问它仍然返回undefined,但指针仍然存在.如上所示,一个例子是如何迭代对象仍然遍历您已经(重新)声明为未定义的属性.看起来有两种不同的未定义.任何人都可以对这种情况有所了解吗?

javascript

25
推荐指数
1
解决办法
6740
查看次数

是否有基于一组参数生成URL的Ruby库/ gem?

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)

我当然可以编写自己的,完全符合我的应用程序的要求,但如果存在一些规范库来处理它,我宁愿使用它:).

ruby gem ruby-on-rails

23
推荐指数
2
解决办法
1万
查看次数

RESTful API中未登录与未授权的不同HTTP状态

所以派几个不同的状态标题在我的API,包括404,409,201,302等.现在我遇到了问题401 Unauthorized.我正在发送它,如果用户未登录(整个API是权限管理),或者如果用户不满足正在检索/修改的特定资源的特定访问要求.

现在,我还控制前端客户端(jQuery/HTML应用程序),我想区分这两种情况401.我是否应该使用未登录的独特状态?处理它的最佳方法是在标题旁边发送正文内容吗?

rest http http-status-codes http-status

18
推荐指数
2
解决办法
1万
查看次数

如何测试我的控制器是否在Rails 3上呈现正确的布局?

控制器代码:

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属性/方法.

rspec ruby-on-rails

17
推荐指数
1
解决办法
9116
查看次数