小编And*_*vey的帖子

如何找到本地postgres数据库的URL路径?

我在postgres数据库上运行了一个Rails应用程序.我正在设置在数据库上运行的后台任务队列,我需要指定数据库URL.

我尝试过的各种排列,并期望全部回归FATAL: database "database-name" does not exist.

是否有打印此URL的命令?

或者,如果我的database.yml看起来像这样,URL应该是什么样子

development:
    adapter: postgresql
    encoding: unicode
    database: db/database-name
Run Code Online (Sandbox Code Playgroud)

谢谢你的建议.

postgresql ruby-on-rails

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

如何处理file_as_string(由Prawn生成)以便Carrierwave接受它?

我正在使用Prawn从Rails应用程序的控制器生成PDF,

...
respond_to do |format|
  format.pdf do
    pdf = GenerateReportPdf.new(@object, view_context)
    send_data pdf.render, filename: "Report", type: "application/pdf", disposition: "inline"
  end
end
Run Code Online (Sandbox Code Playgroud)

这很好,但我现在想将GenerateReportPdf移动到后台任务中,并将生成的对象传递给Carrierwave直接上传到S3.

工人看起来像这样

def perform
  pdf           = GenerateReportPdf.new(@object)
  fileString    = ???????
  document      = Document.new(
    object_id: @object.id,
    file: fileString )
    # file is field used by Carrierwave 
end
Run Code Online (Sandbox Code Playgroud)

如何处理Prawn(?????)返回的对象,以确保它是Carrierwave可以读取的格式.

fileString = pdf.render_file 'filename'将对象写入应用程序的根目录.因为我在Heroku上这是不可能的.

file = pdf.render 回报 ArgumentError: string contains null byte

fileString = StringIO.new( pdf.render_file 'filename' ) 回报 TypeError: no implicit conversion of nil into String

fileString …

ruby-on-rails prawn carrierwave

12
推荐指数
2
解决办法
3388
查看次数

"文本搜索查询不包含lexemes:"是什么意思?

在Rails应用程序中,我正在使用pg_search gem.当我运行我的RSpec套件时,我看到很多行:

NOTICE:  text-search query doesn't contain lexemes: ""
LINE 1: ...e("pg_search_documents"."content"::text, '')))), (''), 0)) A...
Run Code Online (Sandbox Code Playgroud)

我不确定这意味着什么,或者我是否应该关注它.

有人可以帮忙吗?

rspec ruby-on-rails pg-search

10
推荐指数
1
解决办法
980
查看次数

Git合并错误的方向?

Git还时不时地困惑我!

我有一个升级和一个主分支.通常,开发在分段分支上进行,分段将定期合并到主分区.

但是有些提交已直接提交给主分支.这意味着登台分支中缺少更新.

如何让我的升级分支与主人一起更新?我是否正确认为合并应始终在一个方向上进行(即staging> master)和合并主服务器> staging不是要走的路?

git

10
推荐指数
1
解决办法
2324
查看次数

为什么Heroku返回'devise/sessions.js没有预编译'?

我正在向Heroku部署Rails 3.2应用程序.我根据https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar在本地预编译资产.

但我得到了

ActionView::Template::Error (devise/sessions.js isn't precompiled):
Run Code Online (Sandbox Code Playgroud)

有人遇到过这种情况么?

什么是确保Devise javascripts预先通过的正确方法.

谢谢!

ruby-on-rails heroku asset-pipeline

9
推荐指数
2
解决办法
1697
查看次数

如何在Rails中链接try()和scoped to_s()?

在Rails视图中,try只有在数据库中存在值时才可以使用输出,例如

@model.try(:date)
Run Code Online (Sandbox Code Playgroud)

例如,如果输出需要作为字符串,则可以链接trys

@model.try(:date).try(:to_s)
Run Code Online (Sandbox Code Playgroud)

但是如果我需要调用范围格式呢?我试过了

@model.try(:date).try(:to_s(:long))
@model.try(:date).try(:to_s).try(:long)
Run Code Online (Sandbox Code Playgroud)

这个的正确语法是什么?什么是更好解释的好参考?

谢谢

ruby-on-rails

9
推荐指数
2
解决办法
3258
查看次数

如何在Heroku上配置staging env?

我使用Postgres 9 beta在Heroku上有一个Rails应用程序.

我尝试使用配置暂存环境

heroku config:add RACK_ENV=staging --remote staging

但该应用仍然认为它在生产环境中.

Rails.env
=>"production"
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

ruby-on-rails heroku

9
推荐指数
1
解决办法
2835
查看次数

如何在Rails中的关联模型上配置pg_search multisearch?

我正在将pg_search添加到Rails应用程序中.我并不完全理解这种配置,并希望在正确的方向上轻轻推动.

首先,我已经在我的应用程序上或多或少地设置并运行了多模型站点.但我想扩展它以搜索相关模型.

例如,我有制造商,汽车,模型类.目前,如果我搜索"福特",则只返回制造商.我还想返回所有相关的汽车(属于制造商)和模型(属于汽车).

我可以看到如何做一个范围搜索

class Car
  pg_search_scope :manufactured_by, :associated_against => {
    :manufacturer => [:name]
  }
end
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试在多元素上执行此操作,则无效

class Car
  include PgSearch
  multisearchable :against => [:name], 
    :associated_against => {
        :manufacturer => [:name]
      }
end
Run Code Online (Sandbox Code Playgroud)

它不会产生错误,它根本不会获取相关记录.

我有一种感觉,我错过了一些基本的东西,我理解这一切是如何组合在一起的.如果有人能帮助我理解这一点,或者指出一个良好的信息来源,我真的很感激.我已经浏览了github和相关Railscast的信息,但我仍然遗漏了一些东西.

ruby-on-rails pg-search

8
推荐指数
1
解决办法
5951
查看次数

如何在同一视图中呈现两个分页和可共享的集合?

在Rails 3.2索引视图中,我呈现两个部分.

<%= render :partial => 'users/user', :locals => {:users => @happy_users} %>
<%= render :partial => 'users/user', :locals => {:users => @sad_users} %>
Run Code Online (Sandbox Code Playgroud)

在部分

<% users.each do |user| %>
  Show some fields
<% end %>
<%= will_paginate users %>
Run Code Online (Sandbox Code Playgroud)

分页不起作用.

如果我改变will_paginate采取实例变量,分页工作(但错误的集合)

<%= will_paginate @users %>
Run Code Online (Sandbox Code Playgroud)

当调用partial时,如何将locals传递给will_paginate?

(我意识到我还需要传递:param_name以使用两个集合.现在我只是想让一个实例工作.)

部分通过index.js.erb呈现

$(".ajaxable-users").html('<%= escape_javascript(render("users/user")) %>');
Run Code Online (Sandbox Code Playgroud)

控制器看起来像

def index
  @users = User.scoped.paginate(:page => params[:page], :per_page => 5)
  @happy_users = User.happy_scope.paginate(:page => params[:page], :per_page => 5)  
  @sad_users = User.happy_scope.paginate(:page => params[:page], …
Run Code Online (Sandbox Code Playgroud)

ajax ruby-on-rails will-paginate

8
推荐指数
1
解决办法
2339
查看次数

如何从rails中的控制器调用javascript函数

我试图从Rails 3.2应用程序中的控制器调用javascript函数(实际上是coffeescript).

我收到了一个Render and/or redirect were called multiple times in this action错误.

我的代码看起来像这样:

#Model.controller

def index
  @models = Model.all
  my_action if current_user.name == "Bob" #or some other general conditional
  ...and some stuff
  respond_to do |format|
    format.html
    format.js #this is needed to handle ajaxified pagination
  end
end

def my_action
  respond_to do |format|
    format.js { render :js => "my_function();" } #this is the second time format.js has been called in this controller! 
  end
end


#functions.js.coffee.erb

window.my_function = ->
  i = …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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