Чтобы узнать Rails, я пишу простое приложение для гостевой книги, которое не использует базу данных. Во всяком случае, это то, что мой взгляд выглядит следующим образом:Строка будет работать, но не символы в 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
Всякий раз, когда я меняю «ввод» на символ: ввод, приложение прерывается и дает мне предупреждение, в котором говорится: undefined method `[] 'for nil: NilClass
В чем причина этого? Почему я не могу использовать символ?
обновление: теперь он даже не будет работать со строкой. Что происходит?
обновление № 2: оно работает как с символами, так и с строкой. Единственная проблема заключается в том, что он не будет загружаться в первый раз. Если я смогу загрузить страницу, то она будет работать. Как я могу загрузить страницу?
Я пробовал, но проблема не устранена. Я думаю, что сам поступок: params [: guestbook] ["input"] заставляет его сломаться. Интересно, есть ли способ проверить, не заданы ли параметры без проверки самих параметров? – learningrails123
Вы пробовали 'if params.has_key? (: Guestbook)' – fullybaked
На самом деле, мне нужно проверить, имеет ли значение: input значение, и когда я это делаю, он снова ломается. – learningrails123