当我尝试在浏览器中运行localhost:3000时,Rails服务器不起作用

时间:2020-06-03 04:30:08

标签: ruby-on-rails ruby

我是ROR的初学者,并且正在制作ROR项目。服务器运行正常,但不知道它从昨天起停止工作。

启动服务器时,服务器正常启动,但是如果我通过http://localhost:3000在浏览器中访问服务器,则服务器将停止工作。如果我再次想使用rails s来启动它,则表明该端口已被其他进程使用。当我再次运行此文件时,服务器已启动,但它又无法为我加载索引文件。

通过rails s命令运行服务器:

=> Booting Puma
=> Rails 5.2.4.3 application starting in development
=> Run `rails server -h` for more startup options
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.12.6 (ruby 2.6.5-p114), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

在浏览器上访问http://localhost:3000后:

=> Booting Puma
=> Rails 5.2.4.3 application starting in development
=> Run `rails server -h` for more startup options
*** SIGUSR2 not implemented, signal based restart unavailable!
*** SIGUSR1 not implemented, signal based restart unavailable!
*** SIGHUP not implemented, signal based logs reopening unavailable!
Puma starting in single mode...
* Version 3.12.6 (ruby 2.6.5-p114), codename: Llamas in Pajamas
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop
Started GET "/" for 127.0.0.1 at 2020-06-03 09:54:24 +0530
   (0.3ms)  SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
Processing by MoviesController#index as HTML
  Rendering movies/index.html.erb within layouts/application
  User Load (0.4ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = ? ORDER BY "users"."id" ASC LIMIT ?  [["id", 1], ["LIMIT", 1]]
  Movie Load (0.4ms)  SELECT "movies".* FROM "movies"
  Rendered movies/index.html.erb within layouts/application (52.3ms)

如果我在浏览器中访问http://localhost:3000,服务器将停止。

index.html.erb

<% if !user_signed_in? %>
<div class="jumbotron">
  <h1> Your Faviorite Movies Revied </h1>
  <p> Hashtag, hooodie mumblercore selfies. Authentic keffiyeh leggings kickstarter, narwhal jen shorts XOXO Vice Austin cardign. Oragnic drinking vineger freegen pickled</p>
  <p><%= link_to "Sign Up To Write A Review", new_user_registration_path, class: "btn btn-primary btn-lg" %></p>
</div>
<% end %>


<div class="row">
  <% @movies.each do |movie| %>
  <div class="col-sm-6 col-md-3">
    <div class="thumbnail">
      <%= link_to (image_tag movie.image.url(:medium), class: 'image'), movie %>
    </div>
  </div>
  <% end %>
</div>

这是我访问http://localhost:3000时要在浏览器中呈现的文件。

show.html.erb

<div class="panel panel-default">
  <div class="panel-body">
    <div class="row">
      <div class="col-md-4">
        <%= image_tag @movie.image.url(:medium) %>
        <div class="table-responsive">
          <table class="table">
            <tbody>
              <tr>
                <td><strong>Title:</strong></td>
                <td><%= @movie.title %></td>
              </tr>
              <tr>
                 <td><strong>Description:</strong></td>
                 <td><%= @movie.description %></td>
              </tr>
              <tr>
                <td><strong>Movie length:</strong></td>
                <td><%= @movie.movie_length %></td>
              </tr>
              <tr>
                <td><strong>Director:</strong></td>
                <td><%= @movie.director %></td>
              </tr>
              <tr>
                <td><strong>Rating:</strong></td>
                <td><%= @movie.rating %></td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
    </div>
  </div>
</div>


<%= link_to 'Edit', edit_movie_path(@movie) %> |
<%= link_to 'Back', movies_path %>

我在另一台机器上运行该项目,并且该项目正常运行,仅在我的系统中无法运行

2 个答案:

答案 0 :(得分:0)

您描述的行为与针对Windows的ruby-installer所描述的问题一致。 proposed solution

请尝试使用“带有Ruby和Rails的命令提示符”而不是Git Bash

这说明在Windows上,您需要确保使用正确的命令提示符来正确加载Ruby环境。

如果这种方法行不通,则可能采用另一种解决方案,将Windows Subsystem for Linux on Windows 10用于您的Rails应用程序(最终也可能会部署在Linux上)。

答案 1 :(得分:0)

这是版本不匹配的问题。我不小心更新了计算机中的rails版本,但在gem文件中定义了较早版本,因此版本不匹配,因此无法在localhost:3000中打开项目。