为了学习 Rails,我正在编写一个不使用数据库的简单留言簿应用程序。无论如何,这就是我的观点:
意见/guest_book_pages/home.html.erb
<h1>Guest Book</h1>
<%= @userinput %>
<%= form_for(:guestbook) do |f| %>
<%= f.label :input %>
<%= f.text_field :input %>
<%= f.submit "Sign" %>
<% end %>
控制器看起来像这样:
控制器/guest_book_pages_controller.rb
class StaticPagesController < ApplicationController
def home
@userinput = params[:guestbook]["input"]
end
end
每当我将“输入”更改为符号 :input 时,应用程序就会中断并给我一个警告,上面写着:undefined method `[]' for nil:NilClass
这是什么原因?为什么我不能使用符号?
更新:现在它甚至不适用于字符串。到底是怎么回事?
update#2:它适用于符号和字符串。唯一的问题是它不会第一次加载。如果我可以加载页面,那么任何一个都可以。如何让页面加载?