2013-08-21 14 views
5

In precedenza non ho mai avuto problemi con la raffineria. Mi è stato rinfrescante mia conoscenza, seguendo lungo al tutorial http://railscasts.com/episodes/332-refinery-cms-basics .Poi quando ho creato una nuova applicazione con Raffineria CMS, ho ottenuto questo erroreCome installare Refinery CMS utilizzando Rails 4

Bundler could not find compatible versions for gem "actionmailer": 
    In Gemfile: 
    refinerycms (~> 2.1.0) ruby depends on 
     actionmailer (< 3.3, >= 3.1.3) ruby 

    rails (= 4.0.0) ruby depends on 
     actionmailer (4.0.0) 

ma non dovrebbe essere lì queste cose per default con il CMS? perché dovrebbero esserci errori solo ora?

+0

Quindi una modifica è stata suggerita qui e 3 membri approvati. Ma questo cambia il contesto da una domanda di risoluzione dei problemi a una domanda "come fare". Quindi confonde i dettagli della mia domanda e quindi rende l'attuale accettato non più la migliore risposta. – JGallardo

risposta

1

Sembra che il ramo rails4 è stato sempre un po 'd'amore nel corso degli ultimi giorni:

https://github.com/refinery/refinerycms/tree/rails4

cercherò fuori e l'aggiornamento con come mi trovo.

+0

Sembra che rails4 sia sulla diramazione principale ora, e stanno lavorando su binari 4.1: https://github.com/refinery/refinerycms/tree/rails -4-1 Non so proprio perché non hanno rilasciato una nuova gemma con Rails 4.0 visto che stanno già lavorando su 4.1 –

15

L'ultimo codice supporta Rails 4; la gemma deve essere acquistata dal master branch, fino a quando non viene rilasciata.

Git Issue #2428 - Rails 4 support

Aggiungi alla tua Gemfile:

gem 'refinerycms-i18n', github: 'refinery/refinerycms-i18n', branch: 'master' 
gem 'refinerycms', github: 'refinery/refinerycms', branch: "master" 
# Strong parameters is a new feature not used by Refinery 
gem 'protected_attributes' 

fare un:

$ bundle install 

Creare una nuova raffineria app, il comando sarà diverso a seconda di cosa si vuole fare. Per quello ci sono a few guides che puoi seguire. Nel mio caso, ho aggiunto a an existing app con:

$ rails generate refinery:cms --fresh-installation 

avviare il server e vai a: http://localhost:3000/refinery

+0

Sembra, aggiungendo gem 'protected_attributes' dando errore: Convalida fallita: Titolo non può essere vuoto E secondo https://github.com/refinery/refinerycms-news/issues/140, rimuovere questa gemma è la soluzione ... – Askar

+2

i tuoi passi mi hanno aiutato con questo! Ho omesso la gemma protected_attributes – daniel

+0

Come si modifica il comando generate per far sì che utilizzi MySQL? – metaforge

2

sufficiente inizializzare l'applicazione utilizzando:

rails new my_new_application -m http://refinerycms.com/t/edge 

Dietro le quinte: Questo comando fa sì che l'applicazione utilizzi il ramo principale della raffineria, che supporta Rails 4.

Aggiornamento Sebbene quanto sopra sia il modo più semplice e ufficiale, non ha funzionato completamente per me. Ho dovuto eseguire manualmente il seguente comando dopo quello sopra:

rails generate refinery:cms --fresh-installation 
0

OK, proviamo a rispondere a questo. Questa è la strada che ho seguito.

In primo luogo, ho installato la gemma raffineria.

gem install refinerycms 

Ho poi fatto un:

rbenv rehash 

Poi ho seguito la guida:

refinerycms rickrockstar 

Bundler lamentava:

Bundler could not find compatible versions for gem "refinerycms-core": 
    In Gemfile: 
    refinerycms (~> 3.0) ruby depends on 
     refinerycms-images (= 3.0.0) ruby depends on 
     refinerycms-core (= 3.0.0) ruby 

refinerycms (~> 3.0) ruby depends on 
    refinerycms-images (= 3.0.0) ruby depends on 
    refinerycms-core (= 3.0.0) ruby 

refinerycms (~> 3.0) ruby depends on 
    refinerycms-images (= 3.0.0) ruby depends on 
    refinerycms-core (= 3.0.0) ruby 

refinerycms (~> 3.0) ruby depends on 
    refinerycms-images (= 3.0.0) ruby depends on 
    refinerycms-core (= 3.0.0) ruby 

refinerycms-wymeditor (>= 1.0.6, ~> 1.0) ruby depends on 
    refinerycms-core (>= 3.0.0, ~> 3.0) ruby 

refinerycms-acts-as-indexed (>= 1.0.0, ~> 1.0) ruby depends on 
    refinerycms-core (~> 2.1.0) ruby 

Nel mio Gemfile, ho cambiato il seguente righe: gioiello 'rotaie', '4.2.4'

gem 'refinerycms' 
gem 'refinerycms-acts-as-indexed' 
gem 'refinerycms-wymeditor' 

E questo ha risolto il problema.

ho dovuto poi fare un:

bundle install 

Poi una:

rails generate refinery:cms --fresh-installation 

ho postato un problema su GitHub ed ho ottenuto la seguente risposta dal RefineryTeam:

It looks like the culprit was refinerycms-acts-as-indexed version - it should be ~> 2.0.1 to work with Refinery 3.0.0 

https://github.com/refinery/refinerycms/issues/3072

Si prega di vedere anche questo page dove le cose potrebbero essere in esecuzione più agevolmente di seguire la guida sul sito web di raffineria. Quello che si vede è simile alla risposta di Zuhaib Ali sopra (in un po 'più in dettaglio).

Spero che questo aiuti