我正在尝试使用rails phraseing gem(https://github.com/infinum/phrasing)在网页上创建一个带有可编辑文本框的页面。当我将普通词组与词组('editable')一起使用时,此方法很好用,但是当我尝试使用它来编辑模型属性时,尝试提交更改时会遇到两个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"
让我知道是否应该提供其他信息来帮助解决此问题。谢谢!
答案 0 :(得分:0)
如何在控制器中定义update
动作?
我想您已覆盖PhrasingPhrasesController
尝试在您的redirect_to
操作中返回update
。
class PageController < ApplicationController
def update
// Your code
redirect_to page_path(@your_page)
end
end