我有四个型号:User,Product,Ownership和Location.User并Product拥有一个Location,Location属于User和Product(多态模型).
我想用来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)
我在 …
我正在使用地理编码器gem,但我不知道在哪个文件中我必须粘贴此代码.你能告诉我吗 ?
我想在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) 我想为提交按钮编写一个帮助程序,它会考虑操作(创建或更新)以获得正确的翻译.他们来了 :
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)
我知道这是一个语法问题,但我找不到如何使这项工作......
我有以下表格,我想检查文本字段是否存在。我怎样才能做到这一点 ?
<%= 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) 我想替换开发环境中的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
我是一个新手在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) associations ×1
capybara ×1
coffeescript ×1
factory-bot ×1
forms ×1
heroku ×1
ip-address ×1
rails-i18n ×1
testing ×1