2014-02-15 3 views
0

Это может быть очевидно, но мне нужна еще одна пара глаз, чтобы получить его. Нажатие на кнопку «Отправить» не производит ничего (не перенаправление, просто ничего).Ничего не происходит при отправке Rails form_for

Приложение Rails 4 - это система бронирования для парковки рядом с аэропортами. Здесь есть все:

routes.rb:

Parkix::Application.routes.draw do 

... 
resources :books 
.... 

root to: "books#index" 

end 

books_controller.rb:

class BooksController < ApplicationController 

def index 
    @book = Book.new 
end 

def create 
    @book = Book.new params[:book] 
    render "index" 
end 

end 

book.rb (модель):

class Book < ActiveRecord::Base 

attr_accessor :airport, :start_date, :start_time, :end_date, :end_time 

belongs_to :park 
belongs_to :user 
has_many :prices, through: :parks 

before_validation :generate_dates 

private 

def generate_dates 
    self.start = Time.strptime "#{self.start_date} #{self.start_time}", "%d/%m/%Y %H:%M" 
    self.end = Time.strptime "#{self.end_date} #{self.end_time}", "%d/%m/%Y %H:%M" 
end 

end 

книги/index.html.erb:

<%= form_for Book.new, url: { action: "create" }, method: :post do |f| %> 

<%= f.text_field :airport, placeholder: "Airport" %> 
<%= f.text_field :start_date, placeholder: "Start date" %> 
<%= f.text_field :start_time, value: "10:00", placeholder: "Start time" %> 
<%= f.text_field :end_date, placeholder: "End date" %> 
<%= f.text_field :end_time, value: "10:00", placeholder: "End time" %> 
<%= f.text_field :count_people, placeholder: "Count people" %> 
<%= f.submit "Search", class: "btn btn-primary" %> 

<% end %> 

Как я уже говорил, ничего не происходит, когда я нажимаю на кнопку отправки. У кого-нибудь есть идея?

Заранее спасибо.

+0

Ваше сообщение может быть связано с javascript. Вы пробовали с отключенным javascript? В противном случае я бы посмотрел на ошибку проверки HTML5 ... –

+0

Вы правы, Жюльен, это произошло из-за того, что JS поймал событие отправки формы. Вопрос решен. – htaidirt

ответ

1

Спасибо всем за вашу помощь, но это было связано с JS ловли form- отправить мероприятие. Не проблема с Ruby.

Я закрою эту тему.

Спасибо.

0

ОК шаг один, вам не нужно писать URL-адрес, рельсы могут вывести его. так

<%= form_for Book.new do |f| %> 
    <%= f.text_field :airport, placeholder: "Airport" %> 
    <%= f.text_field :start_date, placeholder: "Start date" %> 
    <%= f.text_field :start_time, value: "10:00", placeholder: "Start time" %> 
    <%= f.text_field :end_date, placeholder: "End date" %> 
    <%= f.text_field :end_time, value: "10:00", placeholder: "End time" %> 
    <%= f.text_field :count_people, placeholder: "Count people" %> 
    <%= f.submit "Search", class: "btn btn-primary" %> 
<% end %> 

шаг 2, самое главное, вы не сохранили его

def create 
    @book = Book.new params[:book] 
    @book.save! 
    render "index" 
end 

или

def create 
    @book = Book.create! params[:book] 
    render "index" 
end 
Смежные вопросы