# Ottieni i dati della casella di testo dopo aver premuto il pulsante nel plugin

**URL:** <https://meta.discourse.org/t/get-text-box-data-after-pressing-button-in-plugin/337702>\
**Category:** Development\
**Created:** [22 Novembre 2024, 8:18am UTC](https://meta.discourse.org/t/get-text-box-data-after-pressing-button-in-plugin/337702 "2024-11-22T08:18:47Z")\
**Posts on this page:** 1\
**Showing post:** 1

<div class="post-metadata">

**Author:** ![NateDhaliwal](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/natedhaliwal/32/313494_2.png) [@NateDhaliwal](https://meta.discourse.org/u/NateDhaliwal)\
**Post date:** [22 Novembre 2024, 8:18am UTC](https://meta.discourse.org/t/get-text-box-data-after-pressing-button-in-plugin/337702/1 "2024-11-22T08:18:48Z")

</div>

Sto lavorando al mio primo plugin e voglio essere in grado di ottenere il contenuto testuale di una casella di testo nel pannello di amministrazione (parte del plugin) dopo aver premuto un pulsante. Quindi, voglio fare alcune cose con il contenuto in Ruby. C’è un modo per il frontend Ember di inviare dati al backend Ruby?  
Il mio `plugin.rb`:

```ruby
# name: Discourse Sample Plugin
# about: A simple plugin to play around with
# version: 1.0.0
# authors: NateDhaliwal
# url: https://google.com

enabled_site_setting :plugin_enabled

add_admin_route 'sample_page.title', 'sample-page'

Discourse::Application.routes.append do
  get '/admin/plugins/sample-page' => 'admin/plugins#index', constraints: StaffConstraint.new
end

```

Il mio `assets/javascripts/discourse/templates/admin/plugin-sample-plugin.hbs`:

```hbs
<div class="textbox">
  <input id="textbox-data" type="text" />
</div>

<div class="buttons">
  <DButton
    @label="sample_page.send"
    @action={{action "sendTextboxData"}}
    @icon="arrow-right"
    @id="send-textbox-data"
  />
</div>

```

Non sono sicuro di cosa dovrebbe fare `sendTextboxData`.  
Il mio `assets/javascripts/discourse/sample-page-route-map.js`:

```js
export default {
  resource: 'admin.adminPlugins',
  path: '/plugins',
  map() {
    this.route('sample-page');
  }
};

```

Il mio `assets/javascripts/discourse/controllers/admin-plugins-sample-plugin.js.es6`:

```js
import Controller from "@ember/controller";
import { action } from "@ember/object";

export default class AdminPluginsSamplePlugin extends Controller {

  @action
  sendTextboxData() {
    // Come invio i dati?
  }
}

```

Se riesco a inviare i dati al backend Ruby, dove metto la logica per gestire i dati? In `plugin.rb`? O in qualche altro file?

---

_[View the full topic](https://meta.discourse.org/t/get-text-box-data-after-pressing-button-in-plugin/337702)._
