У меня есть два приложения, которые взаимодействуют друг с другом. Мне нужно создать экземпляр базы данных модели во втором приложении, которое создается в первом. Приведенный ниже код работает только тогда, когда я вызываю метод во втором приложении после создания и сохранения экземпляра User
.
app1_service.rb
def send_user_data
json_data = {}
user = User.last
json_data[:app1_user_id] = user.id
json_data[:user_name] = user.name
render json_data
end
app2_service.rb
def create_user
response = App2Service.post( '/services/app1_service/send_user_data.json', query: { request: { authenticate: {auth_key: "#{APP_CONFIG[:auth_key]}"} } } )
User.create(app1_user_id: response['app1_user_id'], user_name: response['user_name'])
end
Я хочу создать экземпляр User
в базе данных app2
всякий раз, когда user
создается в app1
. Поэтому я попытался так:
users_controller.rb
def create
if @user.save
Services::App1Controller.send_user_data(user)
end
app1_service.rb
def self.send_user_data(user)
#Here I am not able to figure out how to call the action from the controller in the other application
end
Какие изменения я должен внести, чтобы он работал согласно требованию?