小编Roh*_*hit的帖子

使用rspec和authlogic进行测试时用户登录

我有一个测试控制器的规范如下

require 'spec_helper'

describe ProductsController do
setup :activate_authlogic

describe "user not logged in" do

it "should not GET index" do
get :index
response.should redirect_to(login_path)
end

end

describe "user logged in" do

before(:each) do
UserSession.create :username => "rohit", :password => "test123"
end

it "should GET index" do
get :index
response.should redirect_to(products_path)
end

end

end
Run Code Online (Sandbox Code Playgroud)

我也在spec_helper.rb中使用过这一行

require "authlogic/testcase"
Run Code Online (Sandbox Code Playgroud)

"用户未登录通过"但"登录用户"的测试失败

'ProductsController user is logged in should GET index' FAILED
expected redirect to "/products", got no redirect
Run Code Online (Sandbox Code Playgroud)

ruby testing rspec ruby-on-rails authlogic

5
推荐指数
1
解决办法
4143
查看次数

ActiveMerchant是否支持基于订阅的事务

我想在我的rails应用程序中集成ActiveMerchant.我有一些计划,如果订阅限制用户访问.正如你们所有人都知道基于订阅的应用程序是什么,我不打算解释我的应用程序.请告诉我一些实现这一目标的例子.我已经查看过轨道广播141到146,但Ryan只演示了Paypal Web Payments标准和Paypal Web Payments Pro.我也读了很多博客,但没有帮助.

请帮忙.

提前致谢.

ruby rubygems paypal ruby-on-rails activemerchant

5
推荐指数
2
解决办法
1680
查看次数

跳过模型创建脚手架

我有rails 2.3和ruby 1.8.7

我想只创建一个控制器并查看它的文件.在rails2.3中是否有任何命令可以帮助我做到这一点.我知道这可以在rails 3中完成,但有没有办法在rails 2.3中执行此操作

ruby ruby-on-rails scaffolding

4
推荐指数
1
解决办法
1936
查看次数

安装rails时找不到Gem存储库

我的Windows机器上安装了Ruby 1.8.7和Ruby 1.9.2.

在我的控制台中,当我这样做时,ruby -v它给了我Ruby 1.7.7

现在,当我尝试

gem install rails -v 2.3.8
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

ERROR:  http://gems.rubyforge.org/ does not appear to be a repository
ERROR:  could not find gem rails locally or in a repository
Run Code Online (Sandbox Code Playgroud)

我的RubyGems版本显示1.3.5,所以我尝试更新它

gem update --system
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

Updating RubyGems
ERROR:  http://gems.rubyforge.org/ does not appear to be a repository
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::E10013: An attempt was made to access a socket in a way forbidden by
its access permissions. - connect(2) (http://gems.rubyforge.org/yaml)`
Run Code Online (Sandbox Code Playgroud)

出了什么问题?

ruby windows installation rubygems ruby-on-rails

3
推荐指数
1
解决办法
3624
查看次数

在外键范围内的列中插入序列值 - Rails和Postgres

我想在我的表中有一个列,其中auto_increements在一个外键的范围内.

   id   |   foreign_key_column   |   this_column_i_want
--------------------------------------------------------
   1    |         1              |           1
   2    |         1              |           2   
   3    |         1              |           3
   4    |         2              |           1
   5    |         2              |           2
   6    |         3              |           1
Run Code Online (Sandbox Code Playgroud)

通过rails迁移可以实现这种模式吗?

请考虑以下场景:此表表示Orders表.如果此表存储来自多个商店的订单,则外键列将为store_id.现在,不同的商店需要他们的发票在他们的范围内顺序.早期的发票是全球性的.

因此,每个商店的发票编号必须从1开始,并根据为该特定商店创建的记录继续增加.

希望这有助于解释这个问题.

sql postgresql schema ruby-on-rails

3
推荐指数
1
解决办法
314
查看次数

为返回XML的控制器动作编写规范-Ruby on Rails

在我的控制器中,我有一些返回json以及xml数据的方法。我需要测试这些动作。为了测试json部分,我找到了这个参考,它工作正常。现在,我需要测试XML部分的操作。任何能提供帮助或建议的人都受到欢迎,我已经挠头一个小时了,但无济于事。请帮忙。提前致谢。

ruby xml testing rspec ruby-on-rails

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

检查数组中的元素是否连续--- javascript

我有一个数组

arr = [1,2,3,4,6,7,8,9]
Run Code Online (Sandbox Code Playgroud)

现在,我要检查数组中的值是否连续。

具体来说,我想要这个

First Check给出第一个和第二个元素是连续的,而下一个元素不是连续的,则算法必须从连续编号开始的地方返回第一个元素

喜欢

First Check will give 1
Second Check will give 6
and so on...
Run Code Online (Sandbox Code Playgroud)

请事先帮助

javascript arrays

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

评估日期是否不是模型中的过去日期之一 - Ruby on Rails

我有一个日期列的日模型.我必须实现验证,即日期列不得有过去的日期.如果日期是过去的日期,则不能将其保存到数据库并在其上提供相应的错误消息.我知道我可以在控制器中进行此验证,但我认为它违反了MVC规则,即保持业务逻辑远离控制器.

有没有办法将此验证放在模型中或其他任何地方,如果日期是过去的日期,那么它必须重定向回新的操作,并显示消息"日期不能是过去的日期"

请提前帮助,谢谢

ruby validation datetime ruby-on-rails

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

Ruby on Rails:为什么"编辑"动作不起作用?

views/products/edit.html.erb我使用:

<%= form_for(:product, :url => {:action => 'update', :id => @product.id}) do |f| %>
Run Code Online (Sandbox Code Playgroud)

产生:

<form method="post" action="/aircons/8" accept-charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

The action '8' could not be found for ProductsController
Run Code Online (Sandbox Code Playgroud)

尝试更新产品时id=8.

我认为表格的方法应该是put.是对的吗 ?我该怎么解决这个问题?


一些控制器代码:

def edit
  @product = Product.find(params[:id])
end

def update
  update_params_with_new_values(params)

  @product = Product.find(params[:id])

  if @product.update_attributes(params[:product])
    flash[:notice] = "Product updated successfully."
    redirect_to(:product => 'index')
  else
    render('edit')
  end
end

def update_params_with_new_values(params)
  params[:product][:shop_id] = Shop.create(:name => params[:new_shop]).id if params[:product][:shop_id] == "new_shop"
  params[:product][:brand_id] = Brand.create(:name => …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails form-for ruby-on-rails-3

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

Javascript - 将原始图像放入另一个容器后保留

例如:

<script type="text/javascript">
  function allowDrop(ev) {
    ev.preventDefault();
  }

  function drag(ev) {
    ev.dataTransfer.setData("Text",ev.target.id);
  }

  function drop(ev) {
    var data=ev.dataTransfer.getData("Text");
    ev.target.appendChild(document.getElementById(data));
    ev.preventDefault();
  }
</script>

<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<img id="x" src="X.png" draggable="true" ondragstart="drag(event)" width="75" height="75" />
Run Code Online (Sandbox Code Playgroud)

我想拖动x.png文件并将其放入div中,但x.png如果我这样做,它将移动到div中.我怎么能实现这一点,在我拖放之后,div得到了一个x.png,而原始版本x.png仍然在哪里?

javascript html5

0
推荐指数
2
解决办法
2540
查看次数