Przy próbie dodania obrazku poprzez ckeditor wyskakuje błąd “Missing template ckeditor/pictures/created, ckeditor/application/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder]}.”
zrobiłem wszystko to co tutaj napisali https://github.com/galetahub/ckeditor
Gemfile
source ‘https://rubygems.org’
# Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
gem 'rails', '4.0.6'
# Use sqlite3 as the database for Active Record
gem 'sqlite3'
# Use SCSS for stylesheets
#gem 'sass-rails', '~> 4.0.2'
# Use Uglifier as compressor for JavaScript assets
#gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
#gem 'coffee-rails', '~> 4.0.0'
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
# gem 'therubyracer', platforms: :ruby
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Turbolinks makes following links in your web application faster. Read more: https://github.com/rails/turbolinks
#gem 'turbolinks'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 1.2'
# dolaczanie zdjec
#gem 'paperclip', '~> 5.1.0'
gem 'paperclip', '~> 4.1.1'
gem "ckeditor"
group :doc do
# bundle exec rake doc:rails generates the API under doc/api.
gem 'sdoc', require: false
end
# Use ActiveModel has_secure_password
gem 'bcrypt', '~> 3.1.7'
# Use unicorn as the app server
# gem 'unicorn'
# Use Capistrano for deployment
# gem 'capistrano', group: :development
# Use debugger
# gem 'debugger', group: [:development, :test]
Szybko patrzac to w gdzies masz blad zwiazany z roznnica pomiedzy get a post albo ruty w co watpie albo cos na widoku sprawdz jeszcze raz jesli nie znajdziesz wrzuc controlera widok i routes moze sie wyjasni
chyba bardziej chodzi o spodziewany content-type wyniku czyli tzw. “format”. U Ciebie wydaje sie nim byc text/html, co powoduje probe wyrenderowania szablonu odpowiadajacego akcji (w tym wypadku create) - ktory nie istnieje. Zamiast tego kontroler i akcja powinny zwrocic JSON-owa reprezentacje obrazka.
Nie wiem, jak robisz ten request dodajacy obrazek (recznie przy pomocy jQuery?) - jesli tak, to popatrz na parametr “dataType” i sprobuj zrobic tak, zeby byl ustawiony na “json” (http://api.jquery.com/jquery.ajax/)
Kontroller stron
class StronasController < ApplicationController
layout 'admin'
#before_action :sprawdz_logowanie
before_action :szukaj_kategorie
def index
@stronas = @kategorie.stronas.sortuj
end
def pokaz
@strona = Strona.find(params[:id])
end
def nowa
@strona = Strona.new({:kategorie_id => @kategorie.id, :nazwa => "Podaj nazwę strony"})
@kategoria = Kategorie.order('pozycja ASC')
@licznik = Strona.count + 1
end
def utworz
@strona = Strona.new(strona_parametry)
if @strona.save
flash[:notice] = "Strona została pomyślnie utworzona"
redirect_to(:action=>'index', :kategoria_id => @kategorie.id)
else
@licznik = Strona.count + 1
@kategoria = Kategorie.order('pozycja ASC')
render('nowa')
end
end
def edycja
@strona = Strona.find(params[:id])
@kategoria = Kategorie.order('pozycja ASC')
@licznik = Strona.count
end
def aktualizuj
@strona = Strona.find(params[:id])
if @strona.update_attributes(strona_parametry)
flash[:notice] = "Strona została pomyślnie zmodyfikowana"
redirect_to(:action=>'pokaz', :id => @strona.id, :kategoria_id => @kategorie.id)
else
@licznik = Strona.count
@kategoria = Kategorie.order('pozycja ASC')
render('edycja')
end
end
def usun
@strona = Strona.find(params[:id])
end
def kasuj
strona = Strona.find(params[:id]).destroy
flash[:notice] = "Strona '#{strona.nazwa}' została pomyślnie usunięta"
redirect_to(:action=>'index', :kategoria_id => @kategorie.id)
end
private
def strona_parametry
params.require(:strona).permit(:nazwa, :pozycja, :widoczna, :created_at, :kategorie_id, :zawartosc)
end
def szukaj_kategorie
if params[:kategoria_id]
@kategorie = Kategorie.find(params[:kategoria_id])
end
end
end
Routes
Kursy::Application.routes.draw do
mount Ckeditor::Engine => '/ckeditor'
get "stronas/index"
get "stronas/pokaz"
get "stronas/nowa"
get "stronas/edycja"
get "stronas/usun"
root "test#index"
#get "test/index"
match ':controller(/:action(/:id))', :via => [:get, :post]
# The priority is based upon order of creation: first created -> highest priority.
# See how all your routes lay out with "rake routes".
# You can have the root of your site routed with "root"
# root 'welcome#index'
# Example of regular route:
# get 'products/:id' => 'catalog#view'
# Example of named route that can be invoked with purchase_url(id: product.id)
# get 'products/:id/purchase' => 'catalog#purchase', as: :purchase
# Example resource route (maps HTTP verbs to controller actions automatically):
# resources :products
# Example resource route with options:
# resources :products do
# member do
# get 'short'
# post 'toggle'
# end
#
# collection do
# get 'sold'
# end
# end
# Example resource route with sub-resources:
# resources :products do
# resources :comments, :sales
# resource :seller
# end
# Example resource route with more complex sub-resources:
# resources :products do
# resources :comments
# resources :sales do
# get 'recent', on: :collection
# end
# end
# Example resource route with concerns:
# concern :toggleable do
# post 'toggle'
# end
# resources :posts, concerns: :toggleable
# resources :photos, concerns: :toggleable
# Example resource route within a namespace:
# namespace :admin do
# # Directs /admin/products/* to Admin::ProductsController
# # (app/controllers/admin/products_controller.rb)
# resources :products
# end
end