如果没有控制器中的操作,rails如何执行视图?

时间:2015-08-29 06:33:56

标签: ruby-on-rails model-view-controller

我刚开始学习rails。我对以下部分有疑问。

控制器:

book_controller.rb

 class BookController < ApplicationController
 end

查看:

list.html.erb  

 <% if @books.blank? %>
<p>There are not any books currently in the system.</p>
<% else %>
<p>These are the current books in our system</p>
<ul id="books">
<% @books.each do |c| %>
<li><%= link_to c.title, {:action => 'show', :id => c.id} -%></li>
<% end %>
</ul>
<% end %>

路由器:

get 'list' => 'book#list'

当我转到localhost:3000/list时,它会显示list.html.erb的内容。当我在Controller中没有list动作时,会发生什么?我的理解怎么错了?

2 个答案:

答案 0 :(得分:4)

如果书籍控制器中定义了@books,则执行此代码没有问题,因为list.html.erb已经在books文件夹中定义,路由设置为

get 'list' => 'book#list'

答案 1 :(得分:0)

集成了Ruby MVC结构,以便在创建变量@varibale时,它已在视图中可用。