我在使用Rspec 1.3的rails 2.3.8应用程序中设置capybara(0.4.1.2)时遇到一些麻烦.从安装capybara说明中,我插入了以下行:
require 'capybara/rspec'
Run Code Online (Sandbox Code Playgroud)
然而,这给了我一个遗漏的常数错误.好像它正在寻找一个没有加载的类'RSpec'(我猜这是一个RSpec 2/Rails 3的东西).
那么如何让Rspec识别出rails 2.3下的水豚呢?我应该使用早期版本的capy吗?
PS.这是回溯的片段:
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|443| in `load_missing_constant': uninitialized constant RSpec (NameError)
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|80| in `const_missing_not_from_s3_library'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb|206| in `const_missing'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|92| in `const_missing'
|| from /Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/capybara-0.4.1.2/lib/capybara/rspec.rb:4
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/rails-2.3.5/lib/rails/gem_dependency.rb|119| Warning: Gem::Dependency#version_requirements is deprecated and will be removed on or after August 2010. Use #requirement
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|443| in `load_missing_constant': uninitialized constant RSpec (NameError)
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|80| in `const_missing_not_from_s3_library'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/aws-s3-0.6.2/lib/aws/s3/extensions.rb|206| in `const_missing'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|92| in `const_missing'
| from /Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/capybara-0.4.1.2/lib/capybara/rspec.rb:4
/Users/rafe/.rvm/rubies/ruby-1.8.6-p399/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb|31| in `gem_original_require'
/Users/rafe/.rvm/rubies/ruby-1.8.6-p399/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb|31| in `require'
/Users/rafe/.rvm/gems/ruby-1.8.6-p399@lci/gems/activesupport-2.3.5/lib/active_support/dependencies.rb|158| in `require'
|| from /Users/rafe/cmi/lci/branches/forums/spec/spec_helper.rb:12
Run Code Online (Sandbox Code Playgroud) 我正在使用:rails 2.3.5 ruby 1.8.7和Windows 7 Home Basic
我得到了一个数据库,我将它连接到rails,没有任何问题从读取和从中获取数据.现在我想要做的是添加一些功能(添加,编辑和删除),但是当我尝试通过执行以下代码将主键设置为表的主键(ProductCode)时:
class Product < ActiveRecord::Base
self.primary_key :ProductCode
end
Run Code Online (Sandbox Code Playgroud)
我做了一个时遇到这个错误@products = Product.find(:all, :limit => 10):
PosController中的ArgumentError #index错误的参数个数(1表示0)
我怎么解决这个问题?
这是我的控制器代码:
class PosController < ApplicationController
def index
@cards = Card.find(:all)
@products = Product.find(:all, :limit => 10)
end
def new
@pro = Product.new
end
def edit
@pro = Product.find(params[:id])
end
def update
@pro = Product.find(params[:id])
if session[:user_id]
@log = "Welcome Administrator!"
@logout="logout"
else
@log = "Admin Log in"
@logout=""
end
respond_to do |format|
if @pro.update_attributes(params[:product]) …Run Code Online (Sandbox Code Playgroud) 我搜索谷歌使用phusion passenger 3.0.17与nginx部署多个rails网站,但我没有得到相关结果.我是如何通过运行passenger-install-nginx-module命令完成乘客nginx设置的.
问题1)我正在寻找适当的初学者教程,使用phusion passenger 3.0.17和nginx运行多个rails网站
问题2)我正在寻找启动,停止,重启(所有网站的整个乘客nginx服务器(即))以及(个人铁路网站)的命令
注意:我不是在寻找乘客独立解决方案.我正在使用REE 1.8.7和rails 2.3.14
我有Rails 2.3.5应用程序,我想升级到3.2.x. 如何升级到Rails 3.2.x?
谢谢
我使用javascript将数量与价格相乘,但仅与第一行一起使用.
这是控制器:
def index
@products= CustomerProduct.all
end
def selected_product
@selected_product = CustomerProduct.find(params[:id])
end
Run Code Online (Sandbox Code Playgroud)
这是索引视图:(显示所有产品和将更新的div)
<% @products.each do |product| %>
<p>
<%= product.product_name %>
<%= link_to_remote image_tag("image.png"),:url=>{:controller=>"customer_product",:action=>"selected_product",:id=>product.id } %>
</p>
<% end %>
<div id="list_products">
## Here is the div that will update after select a product.
</div>
Run Code Online (Sandbox Code Playgroud)
这是替换div的ajax更新:"selected_product.rjs"
page.insert_html(:bottom,"list_products", :partial=>"customer_product/partials/add_product")
Run Code Online (Sandbox Code Playgroud)
以下是部分视图add_product.erb,显示所选信息
<script type="text/javascript">
jQuery("#quantity").live("change", function(){
quantity = parseFloat(jQuery(this).val() );
importe = parseInt(jQuery("#importe").val());
total2 = quantity*importe;
jQuery("#total2").val(total2.toFixed(2));
jQuery("#total2").autoNumericSet(total2.toFixed(2));
});
jQuery('input#total2').autoNumeric();
</script>
<% @products.each do |product| %>
<p>
<%= text_field_tag 'code',@selected_product.product_code,:maxlength=>"10",:size=>"10" if …Run Code Online (Sandbox Code Playgroud) 我在尝试推送到heroku时不断收到此错误.几天前没有任何问题,我没有更改我的gemfile.
这是我推送到heroku时遇到的错误.它说"安装ruby-2.3.4时发生错误",但是我没有在我的gem ruby-2.3.4中指定,所以没有注释掉这条线,正如其他一些stackoverflow答案所建议的那样.
Stellas-MBP:curlav StellaHan$ git push heroku master
Counting objects: 9, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 1.19 KiB | 0 bytes/s, done.
Total 9 (delta 7), reused 0 (delta 0)
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Ruby app detected
remote: -----> Compiling Ruby/Rails
remote: Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-18/ruby-2.3.4.tgz -s -o …Run Code Online (Sandbox Code Playgroud)我需要一个与Rails 2.3.x等效的config.filter_parameters(Rails 3.xx)
module SampleApp
class Application < Rails::Application
# Configure sensitive parameters which will be filtered from the log file.
config.filter_parameters += [:password]
end
end
Run Code Online (Sandbox Code Playgroud)
这适用于Rails 3,但它需要Rails 2.3.x中的功能.
我有一个布尔表达式的问题,当我做了一个logger.debug我得到了奇怪的结果,所以我将我的日志代码简化为以下内容,并且惊讶地看不到任何'false'被打印.
在我的控制器中记录代码:
logger.debug 'true'
logger.debug true
logger.debug
logger.debug 'false'
logger.debug false
logger.debug
logger.debug '1 == 1'
logger.debug 1 == 1
logger.debug
logger.debug '1 == 0'
logger.debug 1 == 0
Run Code Online (Sandbox Code Playgroud)
其中打印出以下内容
true
true
false
1 == 1
true
1 == 0
Run Code Online (Sandbox Code Playgroud)
......?我希望看到错误.当我在控制台中运行'1 == 0'或'put false'时,我得到了错误.我错过了什么吗?
任何想法为什么不打印'假'?
ruby版本:1.8.7-p352
rails版本:2.3.2
我有以下内容来查找帖子.
@posts = Post.find(:all,
:select => "DISTINCT *",
:include => [:user, {:track => :artist}],
:conditions => ["user_id IN (?) AND NOT track_id = ?", users, @track.id],
:group => "track_id",
:order => 'id desc',
:limit => '5')
Run Code Online (Sandbox Code Playgroud)
我想添加子选择
(SELECT COUNT(*) FROM posts P2
WHERE P2.user_id = P1.user_id AND P2.id > P1.id AND P2.track_id <> 34)
<= 1
Run Code Online (Sandbox Code Playgroud)
在我的条款条款中,限制每个用户的帖子数量.
如何将别名P1设置为"初始"帖子表?
使用rails 2.3.11
Heroku 的数据库关注者非常酷。它们允许您创建一个单独的数据库,自动与您的主数据库保持同步。
我想使用这种技术来访问我的追随者数据库而不是我的主数据库以进行昂贵的读取操作(但显然我总是想写入我的主数据库)
当我在生产环境中时,是否可以访问两个数据库(写入的主数据库和读取的跟随数据库)?我理想的 API 应该是类似Post.use_db(:follower).find(1)或Post.find(1, :use_db => :follower)?
ruby-on-rails ×10
ruby-on-rails-2 ×10
ruby ×3
activerecord ×1
ajax ×1
capybara ×1
database ×1
heroku ×1
javascript ×1
jquery ×1
logging ×1
nginx ×1
passenger ×1
rspec ×1
ruby-1.8 ×1
sharding ×1
virtualhost ×1