2014-10-01 25 views
5

Bir Kullanıcı modelini geliştirmeye çalışıyordum (şimdiye kadar uygulamamda Model oluşturma veya özellik ekleme konusunda bir sorunum olmadı). Sorun ne olabilirRaylar "NoMethodError ... birleştirme" hatası oluşturur

rake aborted! 
NoMethodError: undefined method `merge!' for #<ActionDispatch::Routing::Mapper::Scope:0x9fc73a4> 
/home/user/Desktop/MyApp/config/routes.rb:2:in `block in <top (required)>' 
/home/user/Desktop/MyApp/config/routes.rb:1:in `<top (required)>' 
/home/user/Desktop/MyApp/config/environment.rb:5:in `<top (required)>' 
Tasks: TOP => db:migrate => environment 
(See full trace by running task with --trace) 

aşağıdaki

invoke active_record 
    create db/migrate/20140930235224_devise_create_users.rb 
    create app/models/user.rb 
    invoke test_unit 
    create  test/models/user_test.rb 
    create  test/fixtures/users.yml 
    insert app/models/user.rb 
    route devise_for :users 

O halde bana verir Hangi

rake db:migrate 

çalıştırmayı deneyin: Bu yaratır

rails g devise user 

çalıştırmak? rotalar için

Hat 2: Çevre için

devise_for :users 

Ve çizgi 5'tir: Bu hazırlamak ile ilgili bir sorun ve Raylar son sürümü olabilir gibi

Rails.application.initialize! 

cevap

2

görünüyor. Devise Github bu konulara göz at:

Bu blog post sen yapacaksın, ancak, düzeltme ile bir dal olduğunu açıklar Bunu üretimde kullanmak muhtemelen Devise'yi düzeltmeyi master'a birleştirene kadar beklemelisiniz. Eğer çalıştırarak Yüklü vasiyetle versiyonu

+0

sayesinde, sadece bu benim mücevher listesini geçiş yapmalıdır arada için: mücevher 'hazırlamak', '~> 3.3.0' Buna : mücevher 'hazırlamak', '~> 3.3.0': git => 'https://github.com/plataformatec/devise.git',: branch => 'lm-raylar-4-2' –

+0

Evet, bunu deneyin ve sorunu çözmelisiniz. Yaşamadan önce onu değiştirmeyi unutma. –

+0

Bu sorunlar şimdi kapatıldı ve en yeni uygulama sürümü artık bu soruna sahip değil. – campeterson

22

Kontrol: Raylar 4.2.0 son sürümü ile

bundle show devise 

, hazırlamak 3.4.0 veya daha yüksek yükseltilecek gerekecektir. Bunu yapmak için, Gemfile içinde belirtin:

gem 'devise', '~> 3.4.0' 

Sonra çalıştırın:

bundle update devise 
+0

Teşekkürler! Bu düzeltmeyi birleştirmeden önce benim tasarlamam güncel değildi. –

+0

@lorindaapps - Teşekkürler! benim için çalışıyor. Bunun için 1+. – kpp

1

benim Gemfile içinde 3.4.0 için 3.3.0 den vasiyetle sürümünü güncellenmesi ve paket güncelleme kütleyi çalışan büyü gibi çalıştı benim için. Rayları çalıştırıyorum 4.2.0.

İlgili konular