小编Flo*_*ahl的帖子

FactoryGirl协会参考

我有四个型号:User,Product,OwnershipLocation.UserProduct拥有一个Location,Location属于UserProduct(多态模型).

我想用来FactoryGirl创建与其所有者具有相同位置的产品.

factory :location do
  sequence(:address) { |n| "#{n}, street, city" }
end

factory :user do
  sequence(:name)  { |n| "Robot #{n}" }
  sequence(:email) { |n| "numero#{n}@robots.com"}
  association :location, factory: :location
end

factory :product do
  sequence(:name) { |n| "Objet #{n}" }
  association :location, factory: :location
end

factory :ownership do
  association :user, factory: :user
  association :product, factory: :product
end
Run Code Online (Sandbox Code Playgroud)

我在 …

ruby-on-rails associations factory-bot

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

用geocoder gem测试

我正在使用地理编码器gem,但我不知道在哪个文件中我必须粘贴此代码.你能告诉我吗 ?

testing ruby-on-rails rails-geocoder

8
推荐指数
2
解决办法
4017
查看次数

Bootstrap Togglable标签栏

我想在Rails应用程序中使用Twitter的Bootstrap中的Togglable选项卡,但我无法使其工作.

这是我的app/views/pages/home.html.erb:

<ul class="nav nav-tabs" id="dashboard_products">
  <li class="active"><a href="#owned_products"> 1 </a></li>
  <li><a href="#borrowed_products"> 2 </a></li>
  <li><a href="#given_products" > 3 </a></li>
  <li><a href="#requested_products"> 4 </a></li>
</ul>
<div class="tab-content">
  <div class="tab-pane active" id="owned_products"> 1 </div>
  <div class="tab-pane" id="borrowed_products" > 2 </div>
  <div class="tab-pane" id="given_products" > 3 </div>
  <div class="tab-pane" id="requested_products" > 4 </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是我的app/assets/javascripts/pages.js.coffee:

$ ->
  $('#dashboard_products a').click = (e) ->
    e.preventDefault() 
    $(this).tab('show')
Run Code Online (Sandbox Code Playgroud)

在这里我的app/assets/javascripts/application.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails coffeescript twitter-bootstrap

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

使用I18n.t提交按钮帮助器

我想为提交按钮编写一个帮助程序,它会考虑操作(创建或更新)以获得正确的翻译.他们来了 :

fr: 
  submit:
    create:
      user: "Créer mon compte"
      product: "Déposer l'objet"
      session: "Se connecter"
    update:
      user: "Mettre à jour mon compte"
      product: "Modifier l'objet"
Run Code Online (Sandbox Code Playgroud)

我试过这个:

def submit_button(model)
  if model == nil
    I18n.t('submit.create.%{model}')
  else
    I18n.t('submit.update.%{model}')
  end
end
Run Code Online (Sandbox Code Playgroud)

但它没有用,rspec发给我的是:

Capybara::ElementNotFound: Unable to find button ...
Run Code Online (Sandbox Code Playgroud)

我知道这是一个语法问题,但我找不到如何使这项工作......

ruby-on-rails rails-i18n ruby-on-rails-4

6
推荐指数
2
解决办法
5645
查看次数

使用水豚测试表单 text_field 的存在

我有以下表格,我想检查文本字段是否存在。我怎样才能做到这一点 ?

<%= form_for(ownership, remote: true) do |f| %>
  <div>
    <%= f.text_field :confirm, value: nil %>
    <%= f.hidden_field :start_date, value: Time.now %>
  </div>
  <%= f.submit t('button.ownership.take.confirmation'), class: "btn btn-small"%>
<% end %>
Run Code Online (Sandbox Code Playgroud)

这是我的测试:

describe "for not confirmed ownership" do

  before do
    FactoryGirl.create(:agreed_ownership, user: current_user, product: product)
    be_signed_in_as(current_user)
    visit current_page
  end

  # it { should_not have_text_field(confirm) }
  it { should_not have_button(t('button.ownership.take.confirmation')) }
end
Run Code Online (Sandbox Code Playgroud)

forms ruby-on-rails capybara

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

开发环境中地理编码器的假IP

我想替换开发环境中的127.0.0.1 IP,以便手动测试地理编码器gem.我怎样才能做到这一点 ?

我想的,但它不工作.我遇到以下错误:

.rvm/gems/ruby-2.0.0-p247/gems/activesupport-4.0.0.rc1/lib/active_support/infle??ctor/methods.rb:226:in 'const_get': uninitialized constant SpoofIp (NameError)
Run Code Online (Sandbox Code Playgroud)

development-environment ruby-on-rails ip-address rails-geocoder

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

ActionView :: Template :: Error(PG ::错误:错误:运算符不存在:整数=字符变化

我是一个新手在heroku上部署我的应用程序,和往常一样,它在第一次尝试时不起作用.但在开发环境中,它的工作正常.我不太了解日志,所以如果有人可以提供帮助,我将非常感激.:-)

这是我的日志:

2013-07-04T04:52:28.216823+00:00 app[web.1]:     3:       <%= owned_products_count(@user) %>
2013-07-04T04:52:28.217058+00:00 app[web.1]:   app/views/users/_info.html.erb:14:in `_app_views_users__info_html_erb___312310489209235041_69873501065000'
2013-07-04T04:52:28.216823+00:00 app[web.1]: ActionView::Template::Error (PG::Error: ERROR:  operator does not exist: integer = character varying
2013-07-04T04:52:28.216823+00:00 app[web.1]: HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
2013-07-04T04:52:28.217058+00:00 app[web.1]:   app/views/users/show.html.erb:3:in `_app_views_users_show_html_erb___2418451874712966399_69873501046980'
2013-07-04T04:52:28.216823+00:00 app[web.1]: LINE 1: ... "products" INNER JOIN "loans" ON "products"."id" = "loans"....
2013-07-04T04:52:28.216823+00:00 app[web.1]:     5:     <li id="borrowed_products_count">
2013-07-04T04:52:28.217058+00:00 app[web.1]: 
2013-07-04T04:52:28.216823+00:00 app[web.1]:                                                              ^
2013-07-04T04:52:28.216823+00:00 app[web.1]:     6:       <b><%= t('product.borrowed.count', count: …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku

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