我在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)
谢谢你的建议.
我正在使用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 …
在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)
我不确定这意味着什么,或者我是否应该关注它.
有人可以帮忙吗?
Git还时不时地困惑我!
我有一个升级和一个主分支.通常,开发在分段分支上进行,分段将定期合并到主分区.
但是有些提交已直接提交给主分支.这意味着登台分支中缺少更新.
如何让我的升级分支与主人一起更新?我是否正确认为合并应始终在一个方向上进行(即staging> master)和合并主服务器> staging不是要走的路?
我正在向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预先通过的正确方法.
谢谢!
在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)
这个的正确语法是什么?什么是更好解释的好参考?
谢谢
我使用Postgres 9 beta在Heroku上有一个Rails应用程序.
我尝试使用配置暂存环境
heroku config:add RACK_ENV=staging --remote staging
但该应用仍然认为它在生产环境中.
Rails.env
=>"production"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
我正在将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的信息,但我仍然遗漏了一些东西.
在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) 我试图从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)