Discourse API Gem:タグ付きトピックの作成方法

動いていません…

client.create_topic(
  title: "My Title",
  category: "13",
  raw: "My Post",
  tags: "testtag"
)

少なくとも1つのタグが必要であるため、以下のようなエラーが発生します:

DiscourseApi::UnprocessableEntity ({"action"=>"create_post", "errors"=>["You must select at least 1 tag."]}):

Discourse gem を介してタグ付きのトピックを作成する方法をご存じでしょうか?

「いいね!」 2

もしかして tags:["testtag"] にするのはどうですか?

「いいね!」 2

それもうまくいきません、Faizaan(タグが必要という同じメッセージが表示されます)。

情報が古いのかわかりませんが、タグは他のものとは異なり、何らかの配列型のようです。しかし、gem を通じてそれをどのように使用すればよいのでしょうか?

成功したリクエストを行っている間にネットワークタブを見ると、その手順を gem を使用する方法に翻訳できます。

「いいね!」 1

この形式が必要です:

しかし、gem でそれをどのように実現すればよいのでしょうか?

これは私が上記の投稿で図示した内容です。

……しかし、動作しません:

DiscourseApi::UnprocessableEntity ({“action”=>“create_post”, “errors”=>[“You must select at least 1 tag.”]}):

:confused:

「いいね!」 1

他のタグを試してみられますか?

「いいね!」 1

ハハ、私もそう思っていました。だから試してみました。最後に試したものは確かに存在します(でもまだ動きません)。

「いいね!」 1

カテゴリの必須タグを無効にして、実際に機能するかどうかを確認することはできますか?

そのガムのことですか?既存のトピックへの投稿(実際には同じスクリプトから)や、PM の送信などに使っており、問題なく動作しています。ただ、タグを追加するのは今回が初めてです。

「いいね!」 1

わかりました。やっているとは思いますので、念のため確認させてください。

client.create_topic(
  title: "My Title",
  category: "13",
  raw: "My Post",
  tags: ["testtag", "testtag2"]
)
「いいね!」 1

discourse_api gem のソースコードを見ると、まだタグ付きトピックの作成はサポートされていないようです。私のリストに追加しておきます。

「いいね!」 5

ありがとう、ブレイク :slightly_smiling_face:

「いいね!」 1

はい、最新のバージョン(0.42.0)の discourse_api gem を使用すれば、タグ付きのトピックを作成できるようになりました。

タグは配列で渡すだけでOKです。以下のように記述します:

「いいね!」 4

おっ、すごい速さだね、ブレイク!

こんなに早くアップデートが来るとは思っていなくて、post メソッドを使って全てをパラメータとして渡すことで回避策を見つけていたところだった。create_topic でやる方がやっぱり良いよね、ありがとう!

「いいね!」 3

このトピックは 29 時間後に自動的に閉鎖されました。新しい返信は許可されていません。