プロジェクト

全般

プロフィール

Vote #81819

完了

Error on creating custom fields using Ruby version 2.7.2

Admin Redmine さんがほぼ4年前に追加. ほぼ4年前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
Ruby support_33
対象バージョン:
-
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
33
version_id:
0
issue_org_id:
36584
author_id:
434111
assigned_to_id:
0
comments:
7
status_id:
5
tracker_id:
1
plus1:
0
affected_version:
closed_on:
affected_version_id:
170
ステータス-->[Closed]

説明

Original taken from here: https://www.redmine.org/boards/2/topics/66795?r=66803#message-66803
This ticket was created because of a request for help from the forum. I created it because Rub Version 2.7.2 was released in the User Guide... RedmineInstall
From: Maickel Neitzke

After logging in, I created a custom field and I can't edit it anymore.
Depending on the type of field created, different parts also fail redmine related to that type. When you exclude the field, everything goes back to normal.

Environment:
  Redmine version                4.2.3.stable
  Ruby version                   2.7.2-p137 (2020-10-01) [arm64-darwin21]
  Rails version                  5.2.6
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Git                            2.32.0
  Filesystem                     
Redmine plugins:
  no plugin installed

Error Log:

Started GET "/custom_fields/3/edit" for 127.0.0.1 at 2022-02-06 23:02:12 -0300
Processing by CustomFieldsController#edit as HTML
  Parameters: {"id"=>"3"}
  Current user: admin (id=1)
  Rendering custom_fields/edit.html.erb within layouts/admin
  Rendered custom_fields/formats/_regexp.html.erb (1.2ms)
  Rendered custom_fields/formats/_string.html.erb (3.7ms)
  Rendered custom_fields/_form.html.erb (7.1ms)
  Rendered custom_fields/edit.html.erb within layouts/admin (7.9ms)
Completed 500 Internal Server Error in 17ms (ActiveRecord: 5.1ms)

ActionView::Template::Error (Tried to load unspecified class: ActiveSupport::HashWithIndifferentAccess):
    1: <%= render :partial => 'custom_fields/formats/regexp', :locals => {:f => f, :custom_field => custom_field} %>
    2: 

<%= f.check_box :text_formatting, {:label => :setting_text_formatting, :data => {:disables => '#custom_field_url_pattern'}}, 'full', '' %>

3:

<%= f.text_field(:default_value) %>

4:

<%= f.text_field :url_pattern, :size => 50, :label => :label_link_values_to %>

lib/redmine/views/labelled_form_builder.rb:36:in `check_box' app/views/custom_fields/formats/_string.html.erb:2:in `_app_views_custom_fields_formats__string_html_erb___1692955113378240172_104420' app/helpers/custom_fields_helper.rb:66:in `render_custom_field_format_partial' app/views/custom_fields/_form.html.erb:19:in `_app_views_custom_fields__form_html_erb___1323675755188144023_104400' app/views/custom_fields/edit.html.erb:4:in `block in _app_views_custom_fields_edit_html_erb__3236379970482473425_104380' app/helpers/application_helper.rb:1459:in `labelled_form_for' app/views/custom_fields/edit.html.erb:3:in `_app_views_custom_fields_edit_html_erb__3236379970482473425_104380' lib/redmine/sudo_mode.rb:61:in `sudo_mode'

Problem solved.

I installed the 2.6.9 Ruby version and the issue not happened anymore.

Environment:
  Redmine version                4.2.3.stable
  Ruby version                   2.6.9-p207 (2021-11-24) [arm64-darwin21]
  Rails version                  5.2.6
  Environment                    production
  Database adapter               Mysql2
  Mailer queue                   ActiveJob::QueueAdapters::AsyncAdapter
  Mailer delivery                smtp
SCM:
  Git                            2.32.0
  Filesystem                     
Redmine plugins:
  no plugin installed

journals

this is related to the new version of psych gem, see #36226

the easiest way is to downgrade the gem or wait until there's a new Redmine release with Psych 4 support
--------------------------------------------------------------------------------
Pavel Rosický wrote:
> this is related to the new version of psych gem, see https://www.redmine.org/issues/36226

I have just backported the change in #36226 to 4.2-stable and 4.1-stable branches.
--------------------------------------------------------------------------------
Well then we are now waiting very excited for the release date :)
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Closing this issue as a duplicate of #36226.
--------------------------------------------------------------------------------
I don't think this is a duplicate of #36226, as the error message is different (does not mention Psych at all). I get a similar error message in a local 4.2 instance (using ruby 2.7.2) and I have verified that I have the Psych gem fix:

<pre>
Started GET "/my/account" for ::1 at 2022-04-26 13:56:21 -0600
Processing by MyController#account as HTML
Current user: admin (id=4)
Rendering my/account.html.erb within layouts/base
Rendered my/account.html.erb within layouts/base (6.5ms)
Completed 500 Internal Server Error in 11ms (ActiveRecord: 2.6ms)

ActionView::Template::Error (Tried to load unspecified class: ActiveSupport::HashWithIndifferentAccess):
43: </p>
44: <% end -%>
45:
46: <% @user.custom_field_values.select(&:editable?).each do |value| %>
47: <p><%= custom_field_tag_with_label :user, value %></p>
48: <% end %>
49: <%= call_hook(:view_my_account, :user => @user, :form => f) %>

app/models/custom_field.rb:225:in `full_text_formatting?'
app/helpers/custom_fields_helper.rb:84:in `custom_field_tag'
app/helpers/custom_fields_helper.rb:120:in `custom_field_tag_with_label'
app/views/my/account.html.erb:46:in `block (2 levels) in _app_views_my_account_html_erb___3008421757190608950_90980'
app/views/my/account.html.erb:45:in `each'
app/views/my/account.html.erb:45:in `block in _app_views_my_account_html_erb___3008421757190608950_90980'
app/helpers/application_helper.rb:1459:in `labelled_form_for'
app/views/my/account.html.erb:14:in `_app_views_my_account_html_erb___3008421757190608950_90980'
</pre>

This occurs without any plugins.
# Create Custom Field
# Attempt to go to "My Account" page.

What was it about this ticket that suggests it was the Psych gem error?

--------------------------------------------------------------------------------
The proposed solution of reverting back to ruby v2.6.9 also worked for me.
--------------------------------------------------------------------------------


related_issues

duplicates,Closed,36226, Psych 4: Psych::DisallowedClass exception when unserializing a setting value

Admin Redmine さんがほぼ4年前に更新

  • カテゴリRuby support_33 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0