手動でパーマリンクを追加しようとした際にエラーが発生しました
URL フィールドに、すでにパーマリンクを作成済みの値を追加すると、そのエラーを再現できます。その場合、フォームは期待通りに動作していると思いますが、エラーメッセージがあまり役に立ちません。
パーマリンクを追加するたびにこのエラーが発生していますか?それとも特定のパーマリンクでのみ発生していますか?
「いいね!」 1
既に同じ URL が作成されていません。パーマリンクを追加しようとすると、いつもこのエラーが表示されてしまいます ![]()
「いいね!」 1
おそらく、ウェブインターフェースではなく、コンソールから以下のようなコードでパーマリンクを作成したいはずです。
Permalink.find_or_create_by(url: 'some/path/you/like', topic_id: 123)
こうすれば、複数回呼び出しても問題ありません。
ただし、以下のように記述すると、
Permalink.find_or_create_by(url: '/some/path/you/like', topic_id: 123)
先頭の / が削除されてから作成処理が行われるため、2 回目以降の呼び出しで失敗してしまいます。
もし、最初に誤って作成したパスを削除または変更したい場合は、以下のようにします。
p=Permalink.find_by(url: 'some/path/you/like')
p.destroy if p
「いいね!」 3
