我尝试在菜单中添加一个简单的html页面,但是当我尝试转到链接时,我会收到标题中的错误。我是Rails中的新手,我无法理解这个错误,我尝试添加一个静态html页面。问题出在哪儿?请帮忙。
在菜单中
<li><%= link_to "test" , pages_test_path %></li>
路线
Test::Application.routes.draw do
post "inquiry/create"
root :to => 'welcome#index'
resources :inquiries
get "pages/test"
end
页面控制器
class PagesController < ApplicationController
def show
end
end
测试html
<!DOCTYPE html>
<html>
<body>
<h1>My First Heading</h1>
<p>My first paragraph.</p>
</body>
</html>
错误消息
<% if item.errors.any? %>
<div class="alert alert-danger fade in" id="error_messages">
<div id="error_explanation">
<ul class="list-unstyled">
<% item.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
</div><!--/alert-->
<% else %>
<div id="error_messages" class="hide"></div>
<% end %>
答案 0 :(得分:0)
似乎项目对象是零。这意味着未在您的控制器中声明。
在控制器中声明变量@item,如下所示。
@item = Item.find(your_item_id)
或
item = Item.new(your_params)
@item = item.save
然后像下面那样更改你的HTML。
<% if @item.errors.any? %>
<div class="alert alert-danger fade in" id="error_messages">
<div id="error_explanation">
<ul class="list-unstyled">
<% @item.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
</div><!--/alert-->
<% else %>
<div id="error_messages" class="hide"></div>
<% end %>