小编Tin*_*n81的帖子

在Ruby on Rails中为rake任务和测试文件放置辅助函数的位置?

在我的Rails应用程序中,我有一个文件sample_data.rb内部/lib/tasks以及我/spec目录中的一堆测试文件.

所有这些文件通常共享通用功能,例如:

def random_address
  [Faker::Address.street_address, Faker::Address.city].join("\n")
end
Run Code Online (Sandbox Code Playgroud)

我应该把这些辅助功能放在哪里?对此有什么约定吗?

谢谢你的帮助!

ruby rake-task ruby-on-rails-3 ruby-on-rails-3.1 ruby-on-rails-3.2

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

如何将errors_on转换为RSpec 3语法?

我最近从RSpec 2.99升级到RSpec 3.这将是我的规格之一:

require 'spec_helper'

  describe User, :type => :model do

    it "is invalid without a password" do
      expect(FactoryGirl.build(:user, :password => nil).errors_on(:password).size).to eq(1)      
    end

  end

end
Run Code Online (Sandbox Code Playgroud)

我已经运行了Transpec gem,它应该将我的大部分规格转换为RSpec 3语法.但是,我仍然收到此错误(以及其他一些错误):

 Failure/Error: expect(FactoryGirl.build(:user, :password => nil).errors_on(:password).size).to eq(1)
 NoMethodError:
   undefined method `errors_on' for #<User:0x00000108beaba0>
Run Code Online (Sandbox Code Playgroud)

我尝试以多种不同的方式重新编写测试,但错误不会消失.

有人可以帮忙吗?

rspec ruby-on-rails rspec-rails

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

在Ruby on Rails中组合Show和Edit操作?

我只是想知道是否有人在没有任何Show操作的情况下构建了Rails应用程序.

在我的应用程序中,如果用户从列表中选择一个项目,他可能不仅显示它,还要编辑它.

那么执行任何show动作并将所有记录链接到编辑表单是一种好习惯吗?

我看到的唯一警告是用户可能会意外编辑项目.但是可以通过使用jQuery在所有表单字段上禁用默认属性来防止这种情况.这样,用户必须单击"编辑"按钮才能解锁表单字段以进行编辑.

这有意义还是我完全疯了?

谁知道,也许这会导致与Rails的RESTful架构发生冲突?

ruby ruby-on-rails ruby-on-rails-3

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

Ruby on Rails:如何在特定条件下验证嵌套属性?

我有这些模型:

class Organisation < ActiveRecord::Base

  has_many    :people
  has_one     :address, :as         => :addressable,
                        :dependent  => :destroy
  accepts_nested_attributes_for :address, :allow_destroy => true

end

class Person < ActiveRecord::Base

  attr_accessible :first_name, :last_name, :email, :organisation_id, :address_attributes

  belongs_to  :user
  belongs_to  :organisation
  has_one     :address, :as         => :addressable,
                        :dependent  => :destroy
  accepts_nested_attributes_for :address, :allow_destroy => true

  # These two methods seem to have no effect at all!
  validates_presence_of :organisation,  :unless => "address.present?"
  validates_associated  :address,       :unless => "organisation.present?"

end

class Address < ActiveRecord::Base

  belongs_to :addressable, :polymorphic => true

  validates_presence_of …
Run Code Online (Sandbox Code Playgroud)

ruby validation ruby-on-rails ruby-on-rails-3

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

如何在Ruby on Rails应用程序中禁用所有form_for输入字段?

我试图稍微干掉我的Rails应用程序,所以我想在我的show视图中渲染一个表单但禁用所有输入字段.

// show.html.erb

<%= form_for(@project) do |f| %>
  <%= render 'fields', :f => f %>
<% end %>
Run Code Online (Sandbox Code Playgroud)

最好的方法是什么?

谢谢你的帮助.

ruby ruby-on-rails ruby-on-rails-3

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

如何在RSpec中读取BigDecimal格式?

运行我的RSpec测试后,我经常得到如下输出:

expected: 50
     got: #<BigDecimal:7fbdcd1b5408,'0.22E3',9(36)>
Run Code Online (Sandbox Code Playgroud)

我怎样才能知道RSpec到底有多少人?

谢谢你的帮助.

ruby rspec ruby-on-rails bigdecimal

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

为什么我的SASS梯度混合的悬停状态不起作用?

我在我的Rails应用程序中使用了以下gradientmixin anchors:

@mixin gradient($color) { 
  $from: lighten($color, 5%);
  $to: darken($color, 5%);
  background-color: $color;
  background-image: -moz-linear-gradient($from, $to);
  background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from($from), to($to));
  background-image: -webkit-linear-gradient($from, $to);
  background-image: -o-linear-gradient($from, $to);
  &:hover {
    $hover_color: darken($color, 5%);
    $from: lighten($hover_color, 5%);
    $to: darken($hover_color, 5%);
    background-color: $hover_color;
    background-image: -moz-linear-gradient($from, $to);
    background-image: -webkit-gradient(linear, 0% 0%, 0% 100%, from($from), to($to));
    background-image: -webkit-linear-gradient($from, $to);
    background-image: -o-linear-gradient($from, $to);
  }
}
Run Code Online (Sandbox Code Playgroud)

:hover不工作,虽然.当我悬停在一个anchor没有任何变化.我希望看到那里的颜色发生变化.

谁能告诉我这里缺少什么?

谢谢你的帮助.

css sass

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

如何用RSpec测试这种破坏行为?

在我的Rails应用程序中,如果user想要删除自己的帐户,他首先必须在我的terminate视图中输入他的密码:

<%= form_for @user, :method => :delete do |f| %>

  <%= f.label :password %><br/>
  <%= f.password_field :password %>

  <%= f.submit %>

<% end %>
Run Code Online (Sandbox Code Playgroud)

这是我的UsersController:

def terminate
  @user = User.find(params[:id])
  @title = "Terminate your account"
end

def destroy
  if @user.authenticate(params[:user][:password])
    @user.destroy
    flash[:success] = "Your account was terminated."
    redirect_to root_path
  else
    flash.now[:alert] = "Wrong password."
    render :terminate
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是我似乎找不到用RSpec测试这个的方法.

我有的是这个:

describe 'DELETE #destroy' do

  before :each do
    @user = FactoryGirl.create(:user)
  end

  context "success" do …
Run Code Online (Sandbox Code Playgroud)

rspec ruby-on-rails ruby-on-rails-3

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

如何使用Rails Faker gem生成连贯的数据?

为了用假数据填充我的Rails应用程序,我经常这样做:

person = Person.create(
  :first_name   => Faker::Name.first_name,
  :last_name    => Faker::Name.last_name,
  :email        => Faker::Internet.email
)
Run Code Online (Sandbox Code Playgroud)

这可能会产生person如下:

名字:Olivia

姓氏:Kubera

电子邮件:milan_nieklauson@bachmannjacob.net

有没有办法生成更连贯的假数据,如:

名字:Olivia

姓氏:Kubera

电子邮件:olivia_kubera@aol.com

或者我是否必须拿出自己的东西来实现这一目标?

ruby ruby-on-rails faker

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

网络上可缩放矢量图形的最佳文件格式?

我正在建立一个新的网站,我希望该网站的徽标在所有设备上看起来都非常清晰(从台式电脑到iPhone和iPad上的视网膜显示器).

我所拥有的徽标不包含任何渐变或像素,因此我可以轻松地将其保存为矢量格式.但是,没有人能真正说出最佳格式.

是SVG还是PNG?

我将如何创建SVG文件?

即使在谷歌上也没有太多信息.

感谢您与我们分享您的经验.

image vector-graphics css3

7
推荐指数
3
解决办法
6万
查看次数