铁轨上的红宝石景色

时间:2016-12-09 06:03:56

标签: ruby-on-rails ruby ruby-on-rails-3

我正在学习在rails环境中编写ruby代码。我创造了两种型号的汽车和产品。我希望有一个主页,其中包含汽车和产品的链接。点击它们后,它们应显示自己的视图页面。以下是汽车和用户的查看页面:

应用程序/视图/汽车/ index.html.erb

<p id="notice"><%= notice %></p>

<h1>Listing Cars</h1>

<table>
  <thead>
    <tr>
      <th>Make</th>
      <th>Color</th>
      <th>Year</th>
      <th colspan="24"></th>
    </tr>
  </thead>

  <tbody>
    <% @cars.each do |car| %>
      <tr>
        <td><%= car.make %></td>
        <td><%= car.color %></td>
        <td><%= car.year %></td>
        <td><%= link_to 'Show', car %></td>
        <td><%= link_to 'Edit', edit_car_path(car) %></td>
        <td><%= link_to 'Destroy', car, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New Car', new_car_path %>

<h4>Import that data!</h4>
  <%= form_tag import_users_path, multipart: true do %>
    <%= file_field_tag :file %>
    <%= submit_tag "Import CSV" %>
  <% end %>
</div>

应用程序/视图/用户/ index.html.erb

<p id="notice"><%= notice %></p>

<h1>Listing Users</h1>

<table>
  <thead>
    <tr>
      <th>User</th>
      <th>Steps</th>
      <th>Distance</th>
      <th>Minutes Exercised</th>
      <th>Hours of Sleep</th>
      <th>Calories Burned</th>
      <th colspan="24"></th>
    </tr>
  </thead>

  <tbody>
    <% @users.each do |user| %>
      <tr>
        <td><%= user.user %></td>
        <td><%= user.steps %></td>
        <td><%= user.distance %></td>
        <td><%= user.exercise %></td>
        <td><%= user.sleep %></td>
        <td><%= user.calories %></td>
        <td><%= link_to 'Show', user %></td>
        <td><%= link_to 'Edit', edit_user_path(user) %></td>
        <td><%= link_to 'Destroy', user, method: :delete, data: { confirm: 'Are you sure?' } %></td>
      </tr>
    <% end %>
  </tbody>
</table>

<br>

<%= link_to 'New User', new_user_path %>
<div>

<h4>Import that data!</h4>
  <%= form_tag import_users_path, multipart: true do %>
    <%= file_field_tag :file %>
    <%= submit_tag "Import CSV" %>
  <% end %>
</div>

<%= form_tag import_users_path, multipart: true, class: 'form-inline' do %>
  <div class="form-group">
    <%= link_to "Export CSV", users_path(format: "csv"), class: 'btn btn-primary' %>
  </div>

<% end %>

我不知道如何创建单个主页并提供指向这些视图的链接。一个例子可以帮助我。先谢谢你们。

4 个答案:

答案 0 :(得分:2)

假设您有一个名为home的主页

在home.html.erb中写

<%= link_to "cars" cars_path %>
<%= link_to "users" users_path %>

答案 1 :(得分:0)

您可能应该使用rails scaffold来查看它最初生成的功能页面。

答案 2 :(得分:0)

试试这个.......

<%=link_to "cars" cars_path(car) %>

<%=link_to "users" users_path(user) %>

此链接将向您发送控制器的显示方法(用户/汽车)。然后,您需要在views/cars/show.html.erbviews/users/show.html.erb中创建一个显示页面,然后您可以显示自己的视图/显示页面。

希望这对你有用。

答案 3 :(得分:0)

您需要了解rails中What HPC can learn from DevOps的概念。

在项目文件夹中运行命令rake routes。你会看到这样的映射。

          Prefix Verb   URI Pattern                            Controller#Action
       companies GET    /companies(.:format)                   companies#index

所以根据路线,以下链接将导致公司控制器的索引动作。

<%= link_to 'Companies', companies_path%>

如您所见,在companies_path中,companies是路由中显示的前缀。

对于您的具体情况,以下链接将起作用。在你的 home.html.erb

<%=link_to "All Cars", cars_path%>
<%=link_to "All Users", users_path%>

请记住“所有用户”和users_path之间有逗号。因为link_to只是一个有多个参数的方法。

欲了解更多信息,

routes