我最近升级到OSX 10.7,此时我的rails安装在尝试连接到psql服务器时完全被堵塞了.当我从命令行使用时
psql -U postgres
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是当我尝试使用相同的用户名和密码运行rails服务器或控制台时,我收到此错误
...activerecord-3.0.9/lib/active_record/connection_adapters/postgresql_adapter.rb:950:in `initialize': could not connect to server: Permission denied (PGError)
Is the server running locally and accepting
connections on Unix domain socket "/var/pgsql_socket/.s.PGSQL.5432"?
Run Code Online (Sandbox Code Playgroud)
任何可能发生的想法都会非常有用!谢谢!
我有以下使用ZenDesk的功能.我想将current_user详细信息注入表单,如下所示.(这是我的html.haml模板).但是,我无法弄清楚如何使这项工作.
:javascript
if (typeof(Zenbox) !== "undefined") {
Zenbox.init({
dropboxID: "xxxxx",
url: "xxxxx.zendesk.com",
tabID: "support",
tabColor: "black",
tabPosition: "Left",
requester_name: =current_user ? "#{current_user.first_name} #{current_user.last_name}" : "" ,
requester_email: =current_user ? "#{current_user.email}" : "" ,
hide_tab: true
});
}
Run Code Online (Sandbox Code Playgroud)
简而言之,如何将rails变量注入haml中的:javascript元素.
我有一个简单的红宝石问题.我有一个字符串数组.我想确定该数组是否包含任何字符串的子字符串.举个例子
a = ['cat','dog','elephant']
a.to_s.include?('ele')
Run Code Online (Sandbox Code Playgroud)
这是最好的方法吗?
谢谢.
由于我怀疑与自动加载相关的东西,我在运行一堆RSpec测试时遇到了一些麻烦.这是错误:
/usr/share/ruby-rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:490:in `load_missing_constant': Expected /var/lib/jenkins/.../portfolios/base_manage_controller.rb to define Portfolios::BaseManageController (LoadError)
from /usr/share/ruby-rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:181:in `block in const_missing'
from /usr/share/ruby-rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:179:in `each'
from /usr/share/ruby-rvm/gems/ruby-1.9.2-p320/gems/activesupport-3.1.4/lib/active_support/dependencies.rb:179:in `const_missing'
from /usr/share/ruby-rvm/gems/ruby-1.9.2-p320@global/gems/rake-0.9.2.2/lib/rake/ext/module.rb:36:in `const_missing'
from /var/lib/jenkins/jobs/.../app/controllers/portfolios/customize_controller.rb:1:in `<top (required)>'
Run Code Online (Sandbox Code Playgroud)
这是文件的标题:
class Portfolios::BaseManageController < ApplicationController
Run Code Online (Sandbox Code Playgroud)
它存在于 app/controllers/portfolios/base_manage_controller.rb
它的子类:
class Portfolios::CustomizeController < Portfolios::BaseManageController
Run Code Online (Sandbox Code Playgroud)
它存在于 app/controllers/portfolios/customize_controller.rb
最后这里有一堆自动加载:
config.autoload_paths += Dir["#{config.root}/lib", "#{config.root}/lib/**/"]
config.autoload_paths += %W(#{config.root}/app/models/statistics)
#Any test/dev specific load paths
if not Rails.env.production?
config.autoload_paths += %W(#{config.root}/spec/support)
config.autoload_paths += %W(#{config.root}/spec/support/builders)
config.autoload_paths += %W(#{config.root}/spec/support/modules)
config.autoload_paths += %W(#{config.root}/spec/support/utils)
end
Run Code Online (Sandbox Code Playgroud)
任何帮助将非常感激!
我目前正在尝试运行此迁移:
class AddDroppedProjectsCountToUser < ActiveRecord::Migration
def self.up
add_column :users, :dropped_projects, :integer, {:default=>0, :required=>true}
end
def self.down
remove_column :users, :dropped_projects
end
end
Run Code Online (Sandbox Code Playgroud)
该列已正确添加,但没有旧记录填充为0.它们是零.我也尝试过使用default=>'0'
,但无济于事.知道为什么会这样吗?(Rails 3.0.3)
编辑添加:当我创建一个新用户时,它工作正常,一切看起来都正确.只是旧用户在表中仍然没有nil值.
我目前正在使用rails 3中的表单,我遇到了一个非常奇怪的情况.基本上,表单检测到成功返回,但未能检测到"400"错误.这是一些代码.
JQUERY:
$(".editorial_review").live('ajax:failure', function(xhr, status, error) {
alert('error');
})
.live('ajax:success', function(){$(this).parents('tr').prev('tr.main').fadeOut(); $(this).parents('tr').fadeOut(); });
});
Run Code Online (Sandbox Code Playgroud)
扶手:
def create
render :json => {:error => 'No Final Status Selected'},:status => 400 and return if params[:status].blank?
@success = send(params[:status].gsub(' ', '_'))
respond_to do |format|
format.js {head:ok}
end
end
Run Code Online (Sandbox Code Playgroud)
HAML:
-semantic_form_for EditorialReview.new, :remote=>true do |f|
Run Code Online (Sandbox Code Playgroud)
我已经检查了萤火虫,一切似乎都是犹太洁食,而且当控制器响应时head :ok
,没有任何问题可言.
任何帮助将非常感激.谢谢!
我试图在一个字段上有一个动态更新的最小值,具体取决于来自其他字段的输入.简而言之,我的代码是:
$("#new_project").live("click", function() {
switch($('input:radio[name=quality-level]:checked').val()){
case 'average' : ppw = .006;
case 'below-average' : ppw =.004;
case 'good' : ppw = .008;
case 'very-good' : ppw = .016;
}
if ($('#minimum-word-length').val() && $('input:radio[name=quality-level]:checked').val())
{
min_price = $('#minimum-word-length').val() * ppw;
}
$("#new_project, .edit_project").validate({
rules: {
...
"price-per-article": {required: true, number: true, min:min_price},
...
},
errorPlacement: function(error, element) { }
});
});
Run Code Online (Sandbox Code Playgroud)
最低价格设置正确,并正确更新.也就是说,无论出于何种原因,最小值规则都不会更新我认为是因为验证代码仅加载在文档加载上.所以我猜有没有办法重新加载规则,以便在填充两个必要字段时最小值发生变化?
谢谢!
我称之为一个非常简单的功能,似乎无法弄清楚最新情况.(我使用rails 3.0.3和'will_paginate'gem的主分支).我有以下代码:
results = Article.search(params) # returns an array of articles
@search_results = results.paginate :page => params[:page], :per_page=>8, :order => order_clause
Run Code Online (Sandbox Code Playgroud)
无论我使用order_clause(例如'article_title desc'和'article_title asc'),结果总是以相同的顺序相同.因此,当我检查使用类似的东西时@search_results[0]
,元素总是相同的.在我看来,它们显然总是一样的.我完全错过了什么吗?
我确定它有点傻,但我整晚都在撞墙.任何帮助将非常感激!
编辑为添加:搜索子句执行以下操作:
def self.search(params)
full_text_search(params[:query].to_s).
category_search(params[:article_category].blank? ? '' : params[:article_category][:name]).
payout_search(params[:payout_direction], params[:payout_value]).
length_search(params[:length_direction], params[:length_value]).
pending.
distinct.
all
end
Run Code Online (Sandbox Code Playgroud)
其中每个人都是基于searchlogic的函数,如下所示:
#scopes
scope :text_search, lambda {|query|
{
:joins => "INNER JOIN users ON users.id IN (articles.writer_id, articles.buyer_id)",
:conditions => ["(articles.article_title LIKE :query) OR
(articles.description LIKE :query) OR
(users.first_name LIKE :query) OR
(users.last_name LIKE :query)", { :query …
Run Code Online (Sandbox Code Playgroud) 我目前正在使用 mixpanel 和默认的“mixpanel”gem进行分析,并在我的控制器中设置了一些调用。我希望这些调用仅在生产环境中运行。最好的方法是为每次调用执行以下操作:
@mixpanel.track_event("Job Accepted", {:user=> current_user.id}) if RAILS_ENV == 'production'
Run Code Online (Sandbox Code Playgroud)
看起来有点矫枉过正,但我正在努力想出更好的解决方案。任何帮助都会很棒!
javascript ×2
jquery ×2
postgresql ×2
sql ×2
ajax ×1
environment ×1
haml ×1
macos ×1
osx-lion ×1
rspec ×1
ruby ×1
validation ×1