Похоже, что вы делаете, ruby на рельсы формы с проверкой JavaScript.Хотя вы можете сделать это, я бы порекомендовал начать с базовой структуры MVC.Я настоятельно рекомендую ознакомиться с некоторыми основами, которые помогут вам в этом.http://guides.rails.info/ - отличное место для начала.Я хотел бы, чтобы это было там, когда я только начинал, это избавило бы меня от большой боли:)
Вы захотите перенести свои проверки в модель.
in app/models/question.rb
class Question < ActiveRecord::Base
validates_presence_of :question
end
больше запечено в опциях проверки здесь .
тогда вы хотите иметь контроллер для ответа на ваши события создания.в app/controller/question_controller.rb
:
class QuestionsController < ApplicationController
def new
@question = Question.new
end
def create
@question = Question.new(params[:question])
if @question.save
flash[:confirm] = "You have asked a question"
redirect_to questions_path
else
flash[:error] = @question.errors.full_messages.join(",")
render :action => :new
end
end
end
И тогда ваша config/routes.rb
map.resources :questions
Ваша форма должна выглядеть примерно так, как у вас:
<%= flash[:error] %>
<% form_for(@question) do |f| %>
<%= f.text_field :content ...
<% end %>
вспышкасырой, я не использовал это в течение некоторого времени.Я использую плагин message_block .Вы также можете прочитать больше о том, как работает вспышка здесь
Существуют плагины, чтобы сократить некоторые из них, но я рекомендую подрезать зубы, прежде чем делать некоторые из них.Это помогает вам ориентироваться.Желаем удачи!