Rails phrasing gem выдает ошибку 500 при обновлении модели - PullRequest
0 голосов
/ 05 апреля 2019

Я пытаюсь создать страницу с редактируемым текстовым полем на моей веб-странице, используя рельсовый гем (https://github.com/infinum/phrasing).). Это прекрасно работает, когда я использую обычную фразу с фразой («редактируемая»), однако, когда я попробуйте использовать его для редактирования атрибута модели. У меня две ошибки 500, когда я пытаюсь отправить изменения.

Я добавил атрибут в белый список, и даже когда я изменяю конфигурацию на белый список, я все еще сталкиваюсь с той же ошибкой. Правильные данные извлекаются из базы данных, поскольку они правильно отображаются на странице, поэтому я не уверен в том, что проблема может быть здесь.

Код фразы:

= phrase(@pages, :content)

В контроллере я использую

@pages = Page.where('location = ? AND topic = ?', @current_location, 'topic name').first

для получения правильной записи из базы данных

В config / initializers / phrasing.rb я установил config.allow_update_on_all_models_and_attributes = true для тестирования

Схема для страниц:

  create_table "pages", force: :cascade do |t|
    t.string "location"
    t.string "topic"
    t.text "content"
    t.datetime "created_at", null: false
    t.datetime "updated_at", null: false
  end

Ошибка, которую я получаю на вкладке сети:

Template is missing

Missing template phrasing_phrases/update, application/update with {:locale=>[:en], :formats=>[:html, :text, :js, :css, :ics, :csv, :vcf, :vtt, :png, :jpeg, :gif, :bmp, :tiff, :svg, :mpeg, :mp3, :ogg, :m4a, :webm, :mp4, :otf, :ttf, :woff, :woff2, :xml, :rss, :atom, :yaml, :multipart_form, :url_encoded_form, :json, :pdf, :zip, :gzip], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :haml]}. Searched in:
  * "/home/user/project/app/views"
  * "/home/user/.rvm/gems/ruby-2.4.4/gems/phrasing-4.2.1/app/views"
  * "/home/user/.rvm/gems/ruby-2.4.4/gems/devise_cas_authenticatable-1.10.3/app/views"
  * "/home/user/.rvm/gems/ruby-2.4.4/gems/devise-4.6.1/app/views"

Дайте мне знать, если есть какая-либо другая информация, которую я должен предоставить, чтобы помочь решить эту проблему. Спасибо!

1 Ответ

0 голосов
/ 06 апреля 2019

Как вы определяете update действие в вашем контроллере?

Я полагаю, вы переопределили PhrasingPhrasesController

Попытайтесь вернуть redirect_to в вашем update действии.

class PageController < ApplicationController
  def update
    // Your code
    redirect_to page_path(@your_page)
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...