Permalink.create(url: /my/path, post_id: 123) больше не работает

Этот коммит UX: redesign admin permalinks page (#29634) · discourse/discourse@42b1ca8 · GitHub

похоже, нарушил ожидаемое поведение Permalink.create. Вместо того чтобы вызывать его с post_id или topic_id, как это работало ранее (и чего ожидал бы программист на Ruby?), теперь нужно вызывать его следующим образом:

          Permalink.create!(url: "/my/path/#{import_id}.html", permalink_type_value: pcf.post_id, permalink_type: "post") 

Это ломает все скрипты импорта, которые создают пермалинки ( ./vanilla_mysql.rb ./zendesk.rb ./muut.rb ./vbulletin3.rb ./jforum.rb ./ipboard.rb ./bbpress.rb ./answerhub.rb ./vbulletin.rb ./mylittleforum.rb ./nodebb/nodebb.rb./telligent.rb ./mybb.rb ./question2answer.rb./smf2.rb ./vbulletin5.rb ./phpbb3/importers/permalink_importer.rb ./phorum.rb./answerbase.rb./drupal.rb./zendesk_api.rb)

Также больше не работают вызовы вроде find_or_create_by (это ломает vbulletin3, smf1, xenforo и getsatisfaction).

Это ожидаемое поведение?

Кажется, что тесты также были изменены для поддержки этого нового поведения, так что, возможно, да?

6 лайков

Я создал PR с возможным решением:

7 лайков

Эта тема была автоматически закрыта через 2 дня после последнего ответа. Новые ответы больше не принимаются.