Restart Rails server automatically after every change in controllers











up vote
0
down vote

favorite












It should not be necessary to restart Rails server after any normal change. However, when I make little changes on my app controllers, they aren't applied if I don't restart the server. Even if I wrote bad code and made errors intentionally, the old error persists. How can I change that or verify that's well set up?



I have in config/environment/development.rb file:



config.cache_classes = false


This didn't work for me.



UDPATE 1:



development.rb



    Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false

# Do not eager load code on boot.
config.eager_load = false

# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false

# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load

# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true

# Asset digests allow you to set far-future HTTP expiration dates on all assets,
# yet still be able to expire them through the digest params.
config.assets.digest = true

# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
config.assets.raise_runtime_errors = true

# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end









share|improve this question
























  • Which command using to start rails server and share your development.rb file content & try this in your terminal export RAILS_ENV=development and then restart your rails server.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:00










  • I use: "rails s" to start my server. Where do I try this: "export RAILS_ENV=development"? Inside root application folder or anywhere?
    – andreshg112
    Mar 24 '16 at 5:08












  • just put it in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with OR simply run it in your terminal right away it should work.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:12










  • Sorry, I' running it with Windows 7. When I start server, it shows: "development".
    – andreshg112
    Mar 24 '16 at 5:23










  • Whenever I had to work with rails, I never had this issue. (I am on a Mac). What version of Rails are you using? Perhaps there is a bug specifically affecting windows.
    – anbiniyar
    Mar 24 '16 at 5:26















up vote
0
down vote

favorite












It should not be necessary to restart Rails server after any normal change. However, when I make little changes on my app controllers, they aren't applied if I don't restart the server. Even if I wrote bad code and made errors intentionally, the old error persists. How can I change that or verify that's well set up?



I have in config/environment/development.rb file:



config.cache_classes = false


This didn't work for me.



UDPATE 1:



development.rb



    Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false

# Do not eager load code on boot.
config.eager_load = false

# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false

# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load

# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true

# Asset digests allow you to set far-future HTTP expiration dates on all assets,
# yet still be able to expire them through the digest params.
config.assets.digest = true

# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
config.assets.raise_runtime_errors = true

# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end









share|improve this question
























  • Which command using to start rails server and share your development.rb file content & try this in your terminal export RAILS_ENV=development and then restart your rails server.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:00










  • I use: "rails s" to start my server. Where do I try this: "export RAILS_ENV=development"? Inside root application folder or anywhere?
    – andreshg112
    Mar 24 '16 at 5:08












  • just put it in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with OR simply run it in your terminal right away it should work.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:12










  • Sorry, I' running it with Windows 7. When I start server, it shows: "development".
    – andreshg112
    Mar 24 '16 at 5:23










  • Whenever I had to work with rails, I never had this issue. (I am on a Mac). What version of Rails are you using? Perhaps there is a bug specifically affecting windows.
    – anbiniyar
    Mar 24 '16 at 5:26













up vote
0
down vote

favorite









up vote
0
down vote

favorite











It should not be necessary to restart Rails server after any normal change. However, when I make little changes on my app controllers, they aren't applied if I don't restart the server. Even if I wrote bad code and made errors intentionally, the old error persists. How can I change that or verify that's well set up?



I have in config/environment/development.rb file:



config.cache_classes = false


This didn't work for me.



UDPATE 1:



development.rb



    Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false

# Do not eager load code on boot.
config.eager_load = false

# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false

# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load

# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true

# Asset digests allow you to set far-future HTTP expiration dates on all assets,
# yet still be able to expire them through the digest params.
config.assets.digest = true

# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
config.assets.raise_runtime_errors = true

# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end









share|improve this question















It should not be necessary to restart Rails server after any normal change. However, when I make little changes on my app controllers, they aren't applied if I don't restart the server. Even if I wrote bad code and made errors intentionally, the old error persists. How can I change that or verify that's well set up?



I have in config/environment/development.rb file:



config.cache_classes = false


This didn't work for me.



UDPATE 1:



development.rb



    Rails.application.configure do
# Settings specified here will take precedence over those in config/application.rb.

# In the development environment your application's code is reloaded on
# every request. This slows down response time but is perfect for development
# since you don't have to restart the web server when you make code changes.
config.cache_classes = false

# Do not eager load code on boot.
config.eager_load = false

# Show full error reports and disable caching.
config.consider_all_requests_local = true
config.action_controller.perform_caching = false

# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false

# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

# Raise an error on page load if there are pending migrations.
config.active_record.migration_error = :page_load

# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true

# Asset digests allow you to set far-future HTTP expiration dates on all assets,
# yet still be able to expire them through the digest params.
config.assets.digest = true

# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
config.assets.raise_runtime_errors = true

# Raises error for missing translations
# config.action_view.raise_on_missing_translations = true
end






ruby-on-rails ruby






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 23 '17 at 12:15









Community

11




11










asked Mar 24 '16 at 4:38









andreshg112

147215




147215












  • Which command using to start rails server and share your development.rb file content & try this in your terminal export RAILS_ENV=development and then restart your rails server.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:00










  • I use: "rails s" to start my server. Where do I try this: "export RAILS_ENV=development"? Inside root application folder or anywhere?
    – andreshg112
    Mar 24 '16 at 5:08












  • just put it in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with OR simply run it in your terminal right away it should work.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:12










  • Sorry, I' running it with Windows 7. When I start server, it shows: "development".
    – andreshg112
    Mar 24 '16 at 5:23










  • Whenever I had to work with rails, I never had this issue. (I am on a Mac). What version of Rails are you using? Perhaps there is a bug specifically affecting windows.
    – anbiniyar
    Mar 24 '16 at 5:26


















  • Which command using to start rails server and share your development.rb file content & try this in your terminal export RAILS_ENV=development and then restart your rails server.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:00










  • I use: "rails s" to start my server. Where do I try this: "export RAILS_ENV=development"? Inside root application folder or anywhere?
    – andreshg112
    Mar 24 '16 at 5:08












  • just put it in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with OR simply run it in your terminal right away it should work.
    – Muhammad Yawar Ali
    Mar 24 '16 at 5:12










  • Sorry, I' running it with Windows 7. When I start server, it shows: "development".
    – andreshg112
    Mar 24 '16 at 5:23










  • Whenever I had to work with rails, I never had this issue. (I am on a Mac). What version of Rails are you using? Perhaps there is a bug specifically affecting windows.
    – anbiniyar
    Mar 24 '16 at 5:26
















Which command using to start rails server and share your development.rb file content & try this in your terminal export RAILS_ENV=development and then restart your rails server.
– Muhammad Yawar Ali
Mar 24 '16 at 5:00




Which command using to start rails server and share your development.rb file content & try this in your terminal export RAILS_ENV=development and then restart your rails server.
– Muhammad Yawar Ali
Mar 24 '16 at 5:00












I use: "rails s" to start my server. Where do I try this: "export RAILS_ENV=development"? Inside root application folder or anywhere?
– andreshg112
Mar 24 '16 at 5:08






I use: "rails s" to start my server. Where do I try this: "export RAILS_ENV=development"? Inside root application folder or anywhere?
– andreshg112
Mar 24 '16 at 5:08














just put it in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with OR simply run it in your terminal right away it should work.
– Muhammad Yawar Ali
Mar 24 '16 at 5:12




just put it in your ~/.bashrc or ~/.bash_profile file of the user you want to start the console with OR simply run it in your terminal right away it should work.
– Muhammad Yawar Ali
Mar 24 '16 at 5:12












Sorry, I' running it with Windows 7. When I start server, it shows: "development".
– andreshg112
Mar 24 '16 at 5:23




Sorry, I' running it with Windows 7. When I start server, it shows: "development".
– andreshg112
Mar 24 '16 at 5:23












Whenever I had to work with rails, I never had this issue. (I am on a Mac). What version of Rails are you using? Perhaps there is a bug specifically affecting windows.
– anbiniyar
Mar 24 '16 at 5:26




Whenever I had to work with rails, I never had this issue. (I am on a Mac). What version of Rails are you using? Perhaps there is a bug specifically affecting windows.
– anbiniyar
Mar 24 '16 at 5:26












1 Answer
1






active

oldest

votes

















up vote
0
down vote













You can use nodemon for auto restarting rails applications.



1) Install nodemon.



sudo npm install -g nodemon


2) Create nodemon.json file on root dir and configure it



{
"ignore": [
".git",
"node_modules/**/node_modules"
],
"watch": [
"app/controllers/",
"app/models/",
"app/assets/",
"config/",
"db/"
],
"ext": "rb yml js css scss"
}


3) Create rails.sh file on root dir to start rails application using nodemon.



kill -9 `cat tmp/pids/server.pid`
echo "APP READY!!!"
echo "Ruby on Rails"
rails s -d


4) Give permission to rails.sh file.



sudo chmod +x rails.sh


5) Start server using sh command.



nodemon -L --exec "./rails.sh"


Note: Steps verified on mac machine. different os may have different command or configuration.






share|improve this answer























    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














     

    draft saved


    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f36193387%2frestart-rails-server-automatically-after-every-change-in-controllers%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes








    up vote
    0
    down vote













    You can use nodemon for auto restarting rails applications.



    1) Install nodemon.



    sudo npm install -g nodemon


    2) Create nodemon.json file on root dir and configure it



    {
    "ignore": [
    ".git",
    "node_modules/**/node_modules"
    ],
    "watch": [
    "app/controllers/",
    "app/models/",
    "app/assets/",
    "config/",
    "db/"
    ],
    "ext": "rb yml js css scss"
    }


    3) Create rails.sh file on root dir to start rails application using nodemon.



    kill -9 `cat tmp/pids/server.pid`
    echo "APP READY!!!"
    echo "Ruby on Rails"
    rails s -d


    4) Give permission to rails.sh file.



    sudo chmod +x rails.sh


    5) Start server using sh command.



    nodemon -L --exec "./rails.sh"


    Note: Steps verified on mac machine. different os may have different command or configuration.






    share|improve this answer



























      up vote
      0
      down vote













      You can use nodemon for auto restarting rails applications.



      1) Install nodemon.



      sudo npm install -g nodemon


      2) Create nodemon.json file on root dir and configure it



      {
      "ignore": [
      ".git",
      "node_modules/**/node_modules"
      ],
      "watch": [
      "app/controllers/",
      "app/models/",
      "app/assets/",
      "config/",
      "db/"
      ],
      "ext": "rb yml js css scss"
      }


      3) Create rails.sh file on root dir to start rails application using nodemon.



      kill -9 `cat tmp/pids/server.pid`
      echo "APP READY!!!"
      echo "Ruby on Rails"
      rails s -d


      4) Give permission to rails.sh file.



      sudo chmod +x rails.sh


      5) Start server using sh command.



      nodemon -L --exec "./rails.sh"


      Note: Steps verified on mac machine. different os may have different command or configuration.






      share|improve this answer

























        up vote
        0
        down vote










        up vote
        0
        down vote









        You can use nodemon for auto restarting rails applications.



        1) Install nodemon.



        sudo npm install -g nodemon


        2) Create nodemon.json file on root dir and configure it



        {
        "ignore": [
        ".git",
        "node_modules/**/node_modules"
        ],
        "watch": [
        "app/controllers/",
        "app/models/",
        "app/assets/",
        "config/",
        "db/"
        ],
        "ext": "rb yml js css scss"
        }


        3) Create rails.sh file on root dir to start rails application using nodemon.



        kill -9 `cat tmp/pids/server.pid`
        echo "APP READY!!!"
        echo "Ruby on Rails"
        rails s -d


        4) Give permission to rails.sh file.



        sudo chmod +x rails.sh


        5) Start server using sh command.



        nodemon -L --exec "./rails.sh"


        Note: Steps verified on mac machine. different os may have different command or configuration.






        share|improve this answer














        You can use nodemon for auto restarting rails applications.



        1) Install nodemon.



        sudo npm install -g nodemon


        2) Create nodemon.json file on root dir and configure it



        {
        "ignore": [
        ".git",
        "node_modules/**/node_modules"
        ],
        "watch": [
        "app/controllers/",
        "app/models/",
        "app/assets/",
        "config/",
        "db/"
        ],
        "ext": "rb yml js css scss"
        }


        3) Create rails.sh file on root dir to start rails application using nodemon.



        kill -9 `cat tmp/pids/server.pid`
        echo "APP READY!!!"
        echo "Ruby on Rails"
        rails s -d


        4) Give permission to rails.sh file.



        sudo chmod +x rails.sh


        5) Start server using sh command.



        nodemon -L --exec "./rails.sh"


        Note: Steps verified on mac machine. different os may have different command or configuration.







        share|improve this answer














        share|improve this answer



        share|improve this answer








        edited Nov 19 at 7:16

























        answered Nov 19 at 7:10









        Mayur Shah

        1,9801427




        1,9801427






























             

            draft saved


            draft discarded



















































             


            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f36193387%2frestart-rails-server-automatically-after-every-change-in-controllers%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Ottavio Pratesi

            Tricia Helfer

            15 giugno