사이트에 Discourse를 임베드했습니다(Embed Discourse comments on another website via Javascript - #309 by eviltrout). Discourse가 제 사이트의 미리보기를 포함하는 게시물을 생성합니다. 크롤러 파라미터를 변경했으므로, Discourse가 임베드된 페이지의 미리보기를 다시 가져오기 위해 해당 임베드된 게시물을 어떻게 다시 생성하거나 다시 가져올 수 있을까요?
Rebaking이 도움이 될까요? 콘솔에서 사용할 수 있는 명령어가 있나요?
TopicEmbed.find_remote(url)
이 명령어가 가져올 내용을 확인하는 데 유용한 것 같습니다.
소스 코드를 살펴보니 다음과 같이 작동하는 해결책을 찾았습니다:
username = SiteSetting.embed_by_username.downcase
user = User.where(username_lower: username.downcase).first
embed_url = "http://www.example.org" # 또는 아래에 표시된 대로 토픽의 URL 사용
TopicEmbed.import_remote(user, embed_url)
이는 TopicRetriever.fetch_http (discourse/lib/topic_retriever.rb at 888e68a1637ca784a7bf51a6bbb524dcf7413b13 · discourse/discourse · GitHub)에서 가져온 것입니다.
여기서 embed_url은 discourse가 임베드된 사이트의 URL이며, topic_id라는 번호의 토픽에서 가져온 값일 수 있습니다. 이 경우 다음과 같습니다.
embed_url = TopicEmbed.where(topic: topic_id)[0].embed_url
단순히 다시 가져오기(refetch)하기 위해 이 정도는 좀 복잡해 보입니다. 이렇게 하는 것이 맞나요? 더 간단한 방법이 있을까요?