我正在学习在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 %>
我不知道如何创建单个主页并提供指向这些视图的链接。一个例子可以帮助我。先谢谢你们。
答案 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.erb
和views/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只是一个有多个参数的方法。
欲了解更多信息,