{"id":39674,"date":"2025-07-08T06:26:50","date_gmt":"2025-07-08T06:26:50","guid":{"rendered":"https:\/\/www.railscarma.com\/?p=39674"},"modified":"2025-07-08T08:58:01","modified_gmt":"2025-07-08T08:58:01","slug":"understanding-ruby-on-rails-controllers-a-developers-guide","status":"publish","type":"post","link":"https:\/\/www.railscarma.com\/it\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/","title":{"rendered":"Capire i controllori di Ruby on Rails: Guida per lo sviluppatore"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"39674\" class=\"elementor elementor-39674\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-8219744 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"8219744\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-26d29d2\" data-id=\"26d29d2\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-68950dd elementor-widget elementor-widget-text-editor\" data-id=\"68950dd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Ruby on Rails, often simply called Rails, is a powerful web development framework built on the Ruby programming language. Known for its &#8220;Convention over Configuration&#8221; and &#8220;Don&#8217;t Repeat Yourself&#8221; (DRY) principles, Rails simplifies the process of building robust web applications. At the heart of any Rails application lies the <strong>controller<\/strong>, a critical component of the Model-View-Controller (MVC) architecture. This guide dives deep into understanding Rails controllers, their role, structure, best practices, and advanced use cases, equipping developers with the knowledge to leverage them effectively.<\/p><h3><strong>What is a Controller in Ruby on Rails?<\/strong><\/h3><p>In the MVC paradigm, the controller acts as an intermediary between the <strong>Model<\/strong> (data and business logic) and the <strong>View<\/strong> (user interface). Controllers handle incoming HTTP requests, process them using application logic, interact with models to fetch or manipulate data, and render views to display the results to the user.<\/p><p>In Rails, controllers are Ruby classes that inherit from <code>Controllore dell&#039;applicazione<\/code>, which itself inherits from <code>ActionController::Base<\/code>. Each controller is responsible for handling specific routes and actions in the application. For example, a <code>UsersController<\/code> might handle requests related to user management, such as creating, updating, or deleting user records.<\/p><h3><strong>The Role of Controllers in Rails<\/strong><\/h3><p>Controllers serve several key purposes in a Rails application:<\/p><ul><li><strong>Request Handling:<\/strong> Controllers receive HTTP requests (e.g., GET, POST, PUT, DELETE) from the user\u2019s browser or API client.<\/li><li><strong>Data Processing:<\/strong> They interact with models to query or modify data in the database.<\/li><li><strong>Rendering Responses:<\/strong> Controllers decide how to respond to requests, whether by rendering a view (HTML, JSON, XML) or redirecting to another route.<\/li><li><strong>Session Management:<\/strong> They manage user sessions, cookies, and authentication state.<\/li><li><strong>Business Logic Coordination:<\/strong> Controllers orchestrate the flow of data between models and views, ensuring the application behaves as expected.<\/li><\/ul><p>In essence, controllers act as the &#8220;traffic cops&#8221; of a Rails application, directing requests to the appropriate logic and responses.<\/p><h3><strong>Anatomy of a Rails Controller<\/strong><\/h3><p>A typical Rails controller is a Ruby class located in the <code>app\/controllers<\/code> directory. Let\u2019s break down a simple example:<\/p><pre>ruby\nclass ArticlesController &lt; ApplicationController\n    def index\n        @articles = Article.all\n    end\n\n    def show\n        @article = Article.find(params[:id])\n    end\n\n    def new\n        @article = Article.new\n    end\n\n    def create\n        @article = Article.new(article_params)\n        if @article.save\n            redirect_to @article, notice: \"Article was successfully created.\"\n        else\n            render :new\n        end\n    end\n\n    private\n\n    def article_params\n        params.require(:article).permit(:title, :content)\n    end\nend<\/pre><h3><strong>Key Components of a Controller<\/strong><\/h3><ul><li><strong>Class Definition:<\/strong> The controller inherits from <code>Controllore dell&#039;applicazione<\/code>, which provides built-in functionality from <code>ActionController::Base<\/code>.<\/li><li><strong>Actions:<\/strong> Public methods (e.g., <code>index, show, new, create<\/code>) correspond to specific routes and handle specific HTTP requests.<\/li><li><strong>Instance Variables:<\/strong> Variables prefixed with @ (e.g., <code>@articles, @article<\/code>) are used to pass data from the controller to the view.<\/li><li><strong>Private Methods:<\/strong> Methods like <code>article_params<\/code> are used for tasks like parameter filtering to ensure security (e.g., preventing mass assignment vulnerabilities).<\/li><li><strong>Rendering and Redirecting:<\/strong> Actions typically end by rendering a view (e.g., <code>rendering: nuovo<\/code>) or redirecting to another route (e.g., <code>reindirizza_a @articolo<\/code>).<\/li><\/ul><h3><strong>Mapping Controllers to Routes<\/strong><\/h3><p>Controllers are tied to the application\u2019s routing system, defined in <code>config\/routes.rb<\/code>. For example:<\/p><pre>ruby\nRails.application.routes.draw do\n    resources :articles\nend<\/pre><p>This single line generates seven standard RESTful routes for the ArticlesController:<\/p><p>These routes map HTTP requests to specific controller actions, making it easy to build RESTful applications.<\/p><h3><strong>Creating a Controller<\/strong><\/h3><p>To create a controller, you can use the Rails generator:<\/p><pre>bash<\/pre><p>rails generate controller Articles index show new create<\/p><p>This command generates:<\/p><ul><li>An <code>ArticlesController<\/code> in <code>app\/controllers\/articles_controller.rb.<\/code><\/li><li>Corresponding view templates in <code>app\/views\/articles\/<\/code>.<\/li><li>Routes in <code>config\/routes.rb<\/code> (if specified).<\/li><li>Helper and test files.<\/li><\/ul><p>You can also create controllers manually by defining a class in <code>app\/controllers<\/code> and updating the routes file.<\/p><h3><strong>Understanding Controller Actions<\/strong><\/h3><p>Each action in a controller corresponds to a specific task. Let\u2019s explore common actions and their roles:<\/p><pre>indice<\/pre><p>Il <code>indice<\/code> action typically retrieves a collection of resources. For example:<\/p><pre>ruby\ndef index\n@articles = Article.all\nend<\/pre><p>This action fetches all articles from the database and makes them available to the <code>index.html.erb<\/code> view.<\/p><pre>show<\/pre><p>Il <code>show<\/code> action retrieves a single resource by its ID:<\/p><pre>ruby\ndef show\n    @article = Article.find(params[:id])\nend<\/pre><p>Il <code>parametri<\/code> hash contains URL parameters, such as the <code>:id<\/code> from the route <code>\/articles\/:id<\/code>.<\/p><pre>nuovo<\/pre><p>Il <code>nuovo<\/code> action initializes a new resource instance for a form:<\/p><pre>ruby\ndef new\n    @article = Article.new\nend<\/pre><p>This prepares an empty article object for the creation form.<\/p><pre>creare<\/pre><p>Il <code>creare<\/code> action handles form submissions to create a new resource:<\/p><pre>ruby\ndef create\n@article = Article.new(article_params)\nif @article.save\nredirect_to @article, notice: \"Article was successfully created.\"\nelse\nrender :new\nend\nend<\/pre><p>If the save is successful, the user is redirected to the new article\u2019s <code>show<\/code> page. If it fails (e.g., due to validation errors), the <code>nuovo<\/code> form is re-rendered with error messages.<\/p><h3><strong>Parametri forti<\/strong><\/h3><p>To prevent mass assignment vulnerabilities, Rails uses <strong>strong parameters<\/strong> to filter incoming data. The <code>article_params<\/code> method ensures only permitted attributes (e.g., <code>:title, :content<\/code>) are used:<\/p><pre>ruby\nprivate\n\ndef article_params\n    params.require(:article).permit(:title, :content)\nend<\/pre><p>This is a security best practice to avoid allowing malicious users to modify sensitive attributes.<\/p><h3><strong>Rendering and Redirecting<\/strong><\/h3><p>Controllers determine how to respond to a request. Common response types include:<\/p><ul><li><strong>Rendering a View:<\/strong> <code>rendering: nuovo<\/code> renders the <code>new.html.erb<\/code> template.<\/li><li><strong>Redirecting:<\/strong> <code>reindirizza_a @articolo<\/code> sends the user to the article\u2019s <code>show<\/code> pagina.<\/li><li><strong>JSON Responses:<\/strong> For APIs, controllers can render JSON:<\/li><\/ul><pre>ruby\ndef show\n@article = Article.find(params[:id])\nrender json: @article\nend<\/pre><ul><li><strong>Custom Status Codes:<\/strong> You can specify HTTP status codes, e.g., <code>render json: { error: \"Not found\" }, status: :not_found<\/code>.<\/li><\/ul><h3><strong>Filters and Callbacks<\/strong><\/h3><p>Rails controllers support <strong>callbacks<\/strong> (also called filters) to run code before, after, or around actions. Common callbacks include:<\/p><ul><li><code>before_action<\/code>: Runs before specified actions.<\/li><li>after_action: Runs after actions.<\/li><li><code>around_action<\/code>: Wraps an action.<\/li><\/ul><p>For example, to ensure a user is logged in before accessing certain actions:<\/p><pre>ruby\nclass ArticlesController &lt; ApplicationController\n    before_action :require_login, only: [:new, :create, :edit, :update]\n\n    private\n\n    def require_login\n        redirect_to login_path unless logged_in?\n    end\nend<\/pre><p>This ensures only authenticated users can create or edit articles.<\/p><h3><strong>Organizing Controllers<\/strong><\/h3><p>As applications grow, controllers can become bloated. Here are strategies to keep them manageable:<\/p><h5><strong>1. Skinny Controllers, Fat Models<\/strong><\/h5><p>Follow the &#8220;skinny controller, fat model&#8221; principle by moving business logic into models. For example, instead of calculating a user\u2019s total orders in the controller:<\/p><pre>ruby\n# Bad: Logic in controller\ndef show\n    @user = User.find(params[:id])\n    @total_orders = @user.orders.sum(:amount)\nend<\/pre><p>Move the logic to the model:<\/p><pre>ruby\n# app\/models\/user.rb\nclass User &lt; ApplicationRecord\n    def total_orders\n        orders.sum(:amount)\n    end\nend\n\n# app\/controllers\/users_controller.rb\ndef show\n    @user = User.find(params[:id])\nend<\/pre><p>Then, in the view, use @user.total_orders.<\/p><h5><strong>2. Concerns<\/strong><\/h5><p>For reusable controller logic, use <strong>preoccupazioni<\/strong>. Create a module in <code>app\/controllers\/concerns:<\/code><\/p><pre>ruby\n# app\/controllers\/concerns\/authenticable.rb\nmodule Authenticable\n    extend ActiveSupport::Concern\n\n    included do\n        before_action :require_login\n    end\n\n    private\n\n    def require_login\n        redirect_to login_path unless logged_in?\n    end\nend<\/pre><p>Include it in controllers:<\/p><pre>ruby\nclass ArticlesController &lt; ApplicationController\n    include Authenticable\nend<\/pre><h5><strong>3. Service Objects<\/strong><\/h5><p>For complex logic, extract it into service objects:<\/p><pre>ruby\n# app\/services\/article_publishing_service.rb\nclass ArticlePublishingService\n    def initialize(article, user)\n        @article = article\n        @user = user\n    end\n\n    def publish\n        return false unless @user.can_publish?\n        @article.update(published: true)\n    end\nend<\/pre><p>Use it in the controller:<\/p><pre>ruby\ndef publish\n    @article = Article.find(params[:id])\n    if ArticlePublishingService.new(@article, current_user).publish\n        redirect_to @article, notice: \"Article published!\"\n    else\n        redirect_to @article, alert: \"Could not publish article.\"\n    end\nend<\/pre><h3><strong>Advanced Controller Features<\/strong><\/h3><h5><strong>1. Namespaces and Scoped Controllers<\/strong><\/h5><p>For admin functionality, use namespaced controllers:<\/p><pre>ruby\n# config\/routes.rb\nnamespace :admin do\n    resources :articles\nend\n\n# app\/controllers\/admin\/articles_controller.rb\nclass Admin::ArticlesController &lt; ApplicationController\n    def index\n        @articles = Article.where(status: :pending)\n    end\nend<\/pre><p>This maps to routes like <code>\/admin\/articles<\/code> and keeps admin logic separate.<\/p><h5><strong>2. API Controllers<\/strong><\/h5><p>For building APIs, inherit from <code>ActionController::API<\/code>:<\/p><pre>ruby\nclass Api::V1::ArticlesController &lt; ActionController::API\n    def index\n        render json: Article.all\n    end\nend<\/pre><p>This provides a lightweight controller optimized for JSON responses, excluding view rendering.<\/p><h5><strong>3. Action Cable Integration<\/strong><\/h5><p>Controllers can trigger real-time updates via Action Cable. For example, broadcasting a new article:<\/p><pre>ruby\ndef create\n    @article = Article.new(article_params)\n    if @article.save\n        ActionCable.server.broadcast(\"articles_channel\", { article: @article })\n        redirect_to @article\n    else\n        render :new\n    end\nend<\/pre><h5><strong>4. Error Handling<\/strong><\/h5><p>Handle errors gracefully with <code>salvataggio_da<\/code>:<\/p><pre>ruby\nclass ArticlesController &lt; ApplicationController\n    rescue_from ActiveRecord::RecordNotFound, with: :record_not_found\n\n    private\n\n    def record_not_found\n        render plain: \"Record not found\", status: :not_found\n    end\nend<\/pre><h3><strong>Best Practices for Rails Controllers<\/strong><\/h3><ul><li><strong>Keep Controllers Thin:<\/strong> Move complex logic to models or service objects.<\/li><li><strong>Use Strong Parameters:<\/strong> Always filter parameters to prevent security issues.<\/li><li><strong>Follow REST Conventions:<\/strong> Stick to standard RESTful routes and actions.<\/li><li><strong>Handle Errors Gracefully:<\/strong> Use callbacks or <code>salvataggio_da<\/code> for consistent error handling.<\/li><li><strong>Test Controllers:<\/strong> Write RSpec or Minitest tests to ensure actions behave as expected.<\/li><li><strong>Use Descriptive Naming:<\/strong> Name actions and methods clearly to reflect their purpose.<\/li><li><strong>Leverage Callbacks:<\/strong> Utilizzo <code>before_action<\/code> and other callbacks to reduce code duplication.<\/li><\/ul><h3><strong>Testing Rails Controllers<\/strong><\/h3><p>Testing is crucial to ensure controllers work correctly. Here\u2019s an example using RSpec:<\/p><pre>ruby\n# spec\/controllers\/articles_controller_spec.rb\nrequire 'rails_helper'\n\nRSpec.describe ArticlesController, type: :controller do\n    describe \"GET #index\" do\n        it \"returns a successful response\" do\n            get :index\n            expect(response).to be_successful\n        end\n    end\n\n    describe \"POST #create\" do\n        context \"with valid parameters\" do\n            it \"creates a new article\" do\n                expect {\n                    post :create, params: { article: { title: \"Test\", content: \"Content\" } }\n                }.to change(Article, :count).by(1)\n            end\n        end\n    end\nend<\/pre><p>This tests the <code>indice<\/code> E <code>creare<\/code> actions, ensuring they respond correctly and perform the expected operations.<\/p><h2><strong>Conclusione<\/strong><\/h2><p>Rails controllers are the backbone of request handling in a <a href=\"https:\/\/www.railscarma.com\/it\/sviluppo-di-applicazioni-per-binari-personalizzati\/\">Applicazione delle rotaie<\/a>, bridging the gap between user input and the application\u2019s data and views. By understanding their structure, leveraging RESTful conventions, and following best practices like keeping controllers thin and secure, developers can build maintainable and scalable applications. Advanced features like namespaces, API controllers, and Action Cable integration further enhance their power. With proper testing and organization, controllers become a robust tool for delivering delightful user experiences in Ruby on Rails.<\/p><p>Whether you\u2019re a beginner building your first Rails app or an experienced developer tackling complex applications, mastering controllers is essential to harnessing the full potential of Rails. Start experimenting with controllers in your next project, and you\u2019ll see how they bring your application\u2019s logic to life.<\/p><p>A <a href=\"https:\/\/www.railscarma.com\/it\/\">RailsCarma<\/a>, we specialize in architecting high-performance Rails applications with clean, modular controller logic. Whether you&#8217;re refactoring legacy code or building a robust app from scratch, our seasoned Ruby on Rails experts can help you implement best practices that stand the test of time. Ready to optimize your Rails codebase? <strong>Let\u2019s build smarter\u2014together.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t  <div class=\"related-post slider\">\r\n        <div class=\"headline\">Articoli correlati<\/div>\r\n    <div class=\"post-list owl-carousel\">\r\n\r\n            <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Building Agentic AI Applications with Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/building-agentic-ai-applications-with-ruby-on-rails\/?related_post_from=41339\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/05\/Building-Agentic-AI-Applications-with-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Agentic AI Applications with Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/05\/Building-Agentic-AI-Applications-with-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/05\/Building-Agentic-AI-Applications-with-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/05\/Building-Agentic-AI-Applications-with-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/05\/Building-Agentic-AI-Applications-with-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Building Agentic AI Applications with Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/building-agentic-ai-applications-with-ruby-on-rails\/?related_post_from=41339\">\r\n        Building Agentic AI Applications with Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Cos&#039;\u00e8 e come funziona Offliberty Ruby Gem\" href=\"https:\/\/www.railscarma.com\/it\/blog\/what-is-offliberty-ruby-gem-and-how-it-works\/?related_post_from=41304\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Gemma di rubino offliberty\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/What-is-Offliberty-Ruby-Gem-and-How-It-Works-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Cos&#039;\u00e8 e come funziona Offliberty Ruby Gem\" href=\"https:\/\/www.railscarma.com\/it\/blog\/what-is-offliberty-ruby-gem-and-how-it-works\/?related_post_from=41304\">\r\n        Cos'\u00e8 e come funziona Offliberty Ruby Gem  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Metodo Rails link_to: Guida completa con esempi\" href=\"https:\/\/www.railscarma.com\/it\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Metodo Rails link_to\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Rails-link_to-Method-The-Complete-Guide-with-Examples-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Metodo Rails link_to: Guida completa con esempi\" href=\"https:\/\/www.railscarma.com\/it\/blog\/rails-link_to-method-the-complete-guide-with-examples\/?related_post_from=41296\">\r\n        Metodo Rails link_to: Guida completa con esempi  <\/a>\r\n\r\n        <\/div>\r\n              <div class=\"item\">\r\n            <div class=\"thumb post_thumb\">\r\n    <a  title=\"Soluzioni di integrazione API di terze parti in Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/?related_post_from=41264\">\r\n\r\n      <img decoding=\"async\" width=\"800\" height=\"300\" src=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Third-Party-API-Integration-Solutions-in-Ruby-on-Rails.png\" class=\"attachment-full size-full wp-post-image\" alt=\"Soluzioni di integrazione API in Ruby on Rails\" srcset=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Third-Party-API-Integration-Solutions-in-Ruby-on-Rails.png 800w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Third-Party-API-Integration-Solutions-in-Ruby-on-Rails-300x113.png 300w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Third-Party-API-Integration-Solutions-in-Ruby-on-Rails-768x288.png 768w, https:\/\/www.railscarma.com\/wp-content\/uploads\/2026\/04\/Third-Party-API-Integration-Solutions-in-Ruby-on-Rails-18x7.png 18w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\r\n\r\n    <\/a>\r\n  <\/div>\r\n\r\n  <a class=\"title post_title\"  title=\"Soluzioni di integrazione API di terze parti in Ruby on Rails\" href=\"https:\/\/www.railscarma.com\/it\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/?related_post_from=41264\">\r\n        Soluzioni di integrazione API di terze parti in Ruby on Rails  <\/a>\r\n\r\n        <\/div>\r\n      \r\n  <\/div>\r\n\r\n  <script>\r\n      <\/script>\r\n  <style>\r\n    .related-post {}\r\n\r\n    .related-post .post-list {\r\n      text-align: left;\r\n          }\r\n\r\n    .related-post .post-list .item {\r\n      margin: 10px;\r\n      padding: 10px;\r\n          }\r\n\r\n    .related-post .headline {\r\n      font-size: 14px !important;\r\n      color: #999999 !important;\r\n          }\r\n\r\n    .related-post .post-list .item .post_thumb {\r\n      max-height: 220px;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n          }\r\n\r\n    .related-post .post-list .item .post_title {\r\n      font-size: 14px;\r\n      color: #000000;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .post-list .item .post_excerpt {\r\n      font-size: 12px;\r\n      color: #3f3f3f;\r\n      margin: 10px 0px;\r\n      padding: 0px;\r\n      display: block;\r\n      text-decoration: none;\r\n          }\r\n\r\n    .related-post .owl-dots .owl-dot {\r\n          }\r\n\r\n      <\/style>\r\n      <script>\r\n      jQuery(document).ready(function($) {\r\n        $(\".related-post .post-list\").owlCarousel({\r\n          items: 2,\r\n          responsiveClass: true,\r\n          responsive: {\r\n            0: {\r\n              items: 1,\r\n            },\r\n            768: {\r\n              items: 2,\r\n            },\r\n            1200: {\r\n              items: 2,\r\n            }\r\n          },\r\n                      rewind: true,\r\n                                loop: true,\r\n                                center: false,\r\n                                autoplay: true,\r\n            autoplayHoverPause: true,\r\n                                nav: true,\r\n            navSpeed: 1000,\r\n            navText: ['<i class=\"fas fa-chevron-left\"><\/i>', '<i class=\"fas fa-chevron-right\"><\/i>'],\r\n                                dots: false,\r\n            dotsSpeed: 1200,\r\n                                                    rtl: false,\r\n          \r\n        });\r\n      });\r\n    <\/script>\r\n  <\/div>","protected":false},"excerpt":{"rendered":"<p>Ruby on Rails, spesso chiamato semplicemente Rails, \u00e8 un potente framework di sviluppo web basato sul linguaggio di programmazione Ruby. Noto per i suoi principi \u201cConvention over Configuration\u201d e \u201cDon't Repeat Yourself\u201d (DRY), Rails semplifica il processo di costruzione di applicazioni web robuste. Il cuore di ogni applicazione Rails \u00e8 il controller, un componente critico del sistema ...<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"https:\/\/www.railscarma.com\/it\/blog\/third-party-api-integration-solutions-in-ruby-on-rails\/\"> <span class=\"screen-reader-text\">Soluzioni di integrazione API di terze parti in Ruby on Rails<\/span> Leggi altro \"<\/a><\/p>","protected":false},"author":11,"featured_media":39695,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1224],"tags":[],"class_list":["post-39674","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.8 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Understanding Ruby on Rails Controllers: A Developer&#039;s Guide - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development<\/title>\n<meta name=\"description\" content=\"Learn how Rails controllers work, handle requests, &amp; structure logic efficiently in this beginner-friendly guide for Ruby on Rails developers.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.railscarma.com\/it\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding Ruby on Rails Controllers: A Developer&#039;s Guide - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"og:description\" content=\"Learn how Rails controllers work, handle requests, &amp; structure logic efficiently in this beginner-friendly guide for Ruby on Rails developers.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.railscarma.com\/it\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\" \/>\n<meta property=\"og:site_name\" content=\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/RailsCarma\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-08T06:26:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-08T08:58:01+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"300\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"ashish\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@railscarma\" \/>\n<meta name=\"twitter:site\" content=\"@railscarma\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"ashish\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\"},\"author\":{\"name\":\"ashish\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/9699b14852b308edfeb03096b33c7a7a\"},\"headline\":\"Understanding Ruby on Rails Controllers: A Developer&#8217;s Guide\",\"datePublished\":\"2025-07-08T06:26:50+00:00\",\"dateModified\":\"2025-07-08T08:58:01+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\"},\"wordCount\":1252,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png\",\"articleSection\":[\"Blogs\"],\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\",\"url\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\",\"name\":\"Understanding Ruby on Rails Controllers: A Developer's Guide - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"isPartOf\":{\"@id\":\"https:\/\/www.railscarma.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png\",\"datePublished\":\"2025-07-08T06:26:50+00:00\",\"dateModified\":\"2025-07-08T08:58:01+00:00\",\"description\":\"Learn how Rails controllers work, handle requests, & structure logic efficiently in this beginner-friendly guide for Ruby on Rails developers.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png\",\"width\":800,\"height\":300,\"caption\":\"Understanding Ruby on Rails Controllers A Developer's Guide\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.railscarma.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding Ruby on Rails Controllers: A Developer&#8217;s Guide\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.railscarma.com\/#website\",\"url\":\"https:\/\/www.railscarma.com\/\",\"name\":\"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development\",\"description\":\"RailsCarma is a Ruby on Rails Development Company in Bangalore. We specialize in Offshore Ruby on Rails Development based out in USA and India. Hire experienced Ruby on Rails developers for the ultimate Web Experience.\",\"publisher\":{\"@id\":\"https:\/\/www.railscarma.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.railscarma.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.railscarma.com\/#organization\",\"name\":\"RailsCarma\",\"url\":\"https:\/\/www.railscarma.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"contentUrl\":\"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png\",\"width\":200,\"height\":46,\"caption\":\"RailsCarma\"},\"image\":{\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/RailsCarma\/\",\"https:\/\/x.com\/railscarma\",\"https:\/\/www.linkedin.com\/company\/railscarma\/\",\"https:\/\/myspace.com\/railscarma\",\"https:\/\/in.pinterest.com\/railscarma\/\",\"https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/9699b14852b308edfeb03096b33c7a7a\",\"name\":\"ashish\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/204411c7d72714bc32d5ac6398e0596896318386bd537860fdd14ce905a79e07?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/204411c7d72714bc32d5ac6398e0596896318386bd537860fdd14ce905a79e07?s=96&d=mm&r=g\",\"caption\":\"ashish\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding Ruby on Rails Controllers: A Developer's Guide - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","description":"Learn how Rails controllers work, handle requests, & structure logic efficiently in this beginner-friendly guide for Ruby on Rails developers.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.railscarma.com\/it\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/","og_locale":"it_IT","og_type":"article","og_title":"Understanding Ruby on Rails Controllers: A Developer's Guide - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","og_description":"Learn how Rails controllers work, handle requests, & structure logic efficiently in this beginner-friendly guide for Ruby on Rails developers.","og_url":"https:\/\/www.railscarma.com\/it\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/","og_site_name":"RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","article_publisher":"https:\/\/www.facebook.com\/RailsCarma\/","article_published_time":"2025-07-08T06:26:50+00:00","article_modified_time":"2025-07-08T08:58:01+00:00","og_image":[{"width":800,"height":300,"url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png","type":"image\/png"}],"author":"ashish","twitter_card":"summary_large_image","twitter_creator":"@railscarma","twitter_site":"@railscarma","twitter_misc":{"Scritto da":"ashish","Tempo di lettura stimato":"6 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#article","isPartOf":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/"},"author":{"name":"ashish","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/9699b14852b308edfeb03096b33c7a7a"},"headline":"Understanding Ruby on Rails Controllers: A Developer&#8217;s Guide","datePublished":"2025-07-08T06:26:50+00:00","dateModified":"2025-07-08T08:58:01+00:00","mainEntityOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/"},"wordCount":1252,"commentCount":0,"publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png","articleSection":["Blogs"],"inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/","url":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/","name":"Understanding Ruby on Rails Controllers: A Developer's Guide - RailsCarma - Ruby on Rails Development Company specializing in Offshore Development","isPartOf":{"@id":"https:\/\/www.railscarma.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage"},"image":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage"},"thumbnailUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png","datePublished":"2025-07-08T06:26:50+00:00","dateModified":"2025-07-08T08:58:01+00:00","description":"Learn how Rails controllers work, handle requests, & structure logic efficiently in this beginner-friendly guide for Ruby on Rails developers.","breadcrumb":{"@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#primaryimage","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2025\/07\/Understanding-Ruby-on-Rails-Controllers-A-Developer-Guide.png","width":800,"height":300,"caption":"Understanding Ruby on Rails Controllers A Developer's Guide"},{"@type":"BreadcrumbList","@id":"https:\/\/www.railscarma.com\/blog\/understanding-ruby-on-rails-controllers-a-developers-guide\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.railscarma.com\/"},{"@type":"ListItem","position":2,"name":"Understanding Ruby on Rails Controllers: A Developer&#8217;s Guide"}]},{"@type":"WebSite","@id":"https:\/\/www.railscarma.com\/#website","url":"https:\/\/www.railscarma.com\/","name":"RailsCarma - Societ\u00e0 di sviluppo Ruby on Rails specializzata nello sviluppo offshore","description":"RailsCarma \u00e8 una societ\u00e0 di sviluppo Ruby on Rails a Bangalore. Siamo specializzati nello sviluppo offshore di Ruby on Rails con sede negli Stati Uniti e in India. Assumi sviluppatori esperti di Ruby on Rails per la migliore esperienza Web.","publisher":{"@id":"https:\/\/www.railscarma.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.railscarma.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/www.railscarma.com\/#organization","name":"RailsCarma","url":"https:\/\/www.railscarma.com\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","contentUrl":"https:\/\/www.railscarma.com\/wp-content\/uploads\/2020\/08\/railscarma_logo.png","width":200,"height":46,"caption":"RailsCarma"},"image":{"@id":"https:\/\/www.railscarma.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RailsCarma\/","https:\/\/x.com\/railscarma","https:\/\/www.linkedin.com\/company\/railscarma\/","https:\/\/myspace.com\/railscarma","https:\/\/in.pinterest.com\/railscarma\/","https:\/\/www.youtube.com\/channel\/UCx3Wil-aAnDARuatTEyMdpg"]},{"@type":"Person","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/9699b14852b308edfeb03096b33c7a7a","name":"ashish","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/www.railscarma.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/204411c7d72714bc32d5ac6398e0596896318386bd537860fdd14ce905a79e07?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/204411c7d72714bc32d5ac6398e0596896318386bd537860fdd14ce905a79e07?s=96&d=mm&r=g","caption":"ashish"}}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/39674","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/comments?post=39674"}],"version-history":[{"count":0,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/posts\/39674\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media\/39695"}],"wp:attachment":[{"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/media?parent=39674"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/categories?post=39674"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.railscarma.com\/it\/wp-json\/wp\/v2\/tags?post=39674"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}