Я пытаюсь разрешить моему приложению Rails 5 твитить каждый раз, когда создается новый плагин с помощью sferik/twitter gem. В твите я хотел бы опубликовать URL-адрес нового плагина. Итак, в моем контроллере я добавил следующее:
class PluginsController < ApplicationController
include Rails.application.routes.url_helpers
def create
@plugin = current_user.plugins.build(plugin_params)
$client.update("#{url_for(@plugin)}")
end
end
С client.update
отправляю твит. Однако я столкнулся с тем, что url_for(@plugin)
не генерирует точную ссылку на новый плагин. Он выводит http://localhost:3000/plugins
в моем твите, где он должен выводить http://localhost:3000/plugins/does-this-work
.
Когда я пытаюсь сделать то же самое в Rails Console, он выводит правильную ссылку.
2.5.7 :009 > include Rails.application.routes.url_helpers
=> Object
2.5.7 :010 > url_for(@plugin)
=> "http://localhost:3000/plugins/does-this-work"
Почему вывод в моем контроллере и консоли не совпадает?