2014-02-15 25 views
0

这可能很明显,但我需要另一双眼睛才能得到它。点击我的“提交”按钮不会产生任何东西(不是重定向,只是没有)。提交轨道时没有任何事情发生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

你是对的Julien,这是由于JS抓住表单提交事件。问题解决了。 – htaidirt

回答

1

谢谢大家对你的帮助,但是这是由于JS醒目形式 - 提交活动。不是Ruby问题。

我将关闭此主题。

谢谢。

0

好的第一步,你不需要写网址,rails可以推断出它。所以

<%= 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 
相关问题