フォームをレンダリングするオブジェクトがあり、CategoryForm
Trix エディター ( gem 'trix'
) をインストールして、ユーザーがテキストをフォーマットできるようにしました。インストール後、Trix
私は取得してundefined method 'to_key'
います。これが私の現在のセットアップです。
app/assets/javascripts/admins/categories/categories.js
//= require trix
app/assets/stylesheets/admins/categories/categories.css
*= require trix
カテゴリフォーム
class CategoryForm
attr_accessor :short_desc_pl, :short_desc_en, :short_desc_de,
:long_desc_pl, :long_desc_en, :long_desc_de,
:resource
def initialize(params = {})
@resource = Category.find(params[:id])
generate_fields
end
private
def generate_fields
@short_desc_pl = @resource.short_description['pl']
@short_desc_en = @resource.short_description['en']
@short_desc_de = @resource.short_description['de']
@long_desc_pl = @resource.long_description['pl']
@long_desc_en = @resource.long_description['en']
@long_desc_de = @resource.long_description['de']
end
end
形
<%= form_for category_form, as: 'category', url: admins_category_path(category_form.resource), method: :patch do |form| %>
<table class="table">
<col>
<colgroup span="2"></colgroup>
<colgroup span="2"></colgroup>
<tr>
<td rowspan="2"></td>
</tr>
<tr>
<th scope="col">PL</th>
<th scope="col">EN</th>
<th scope="col">DE</th>
</tr>
<tr>
<th scope="row">Krótki opis</th>
<td><%= form.text_field :short_desc_pl, class: 'form-control' %></td>
<td><%= form.text_field :short_desc_en, class: 'form-control', required: true %></td>
<td><%= form.text_field :short_desc_de, class: 'form-control', required: true %></td>
</tr>
<tr>
<th scope="row">Długi opis</th>
<td><%= form.trix_editor :long_desc_pl, size: "20x20", class: 'form-control', required: true %></td>
<td><%= form.text_area :long_desc_en, size: "20x20", class: 'form-control', required: true %></td>
<td><%= form.text_area :long_desc_de, size: "20x20", class: 'form-control', required: true %></td>
</tr>
</table>
<div class="actions">
<%= form.submit 'Zapisz' %>
</div>
<% end %>
私は何を間違っていますか?
アップデート
@category を使用するようにフォームを変更しました
<%= form_for category, as: 'category', url: admins_category_path(category), method: :patch do |form| %>
...
エラーは発生していませんが、エディターは単にレンダリングしません。Rails 5.1 の Webpacker を使用しています。