2013-03-03 62 views
0

我不知道如何创建一个POST表单。我目前有一个表单,它接受用户输入并在我的电影表中创建一个条目。我想要一个按钮,它具有一组给定的属性,并在用户只点击一个按钮时将其添加到表中。创建一个“POST”表单

在我的搜索控制器我有:

def index 
    @movie = Movie.new 
end 

这是搜索的索引视图:

<%= simple_form_for(@movie, :url => { :action => "create" }) do |f| %> 
    <%= f.input :title, :as => :hidden, :input_html => { :value => "Skyfall" } %> 
    <%= f.input :year, :as => :hidden, :input_html => { :value => "2012" } %> 
    <%= f.input :description, :as => :hidden, :input_html => { :value => "James Bond" } %> 
    <%= f.association :genres, include_blank: false, :as => :hidden, :input_html => { :value => "some value" } %> 
    <%= f.button :submit, class: "btn btn-warning" %> 
<% end %> 

目前其路由到[HTTP://本地主机:3000/search.4理想情况下我希望它的路线[HTTP://本地主机:3000 /电影/ 4]

路线:

searches GET /searches(.:format)   searches#index 
      POST /searches(.:format)   searches#create 
new_search GET /searches/new(.:format)  searches#new 
edit_search GET /searches/:id/edit(.:format) searches#edit 
    search GET /searches/:id(.:format)  searches#show 
      PUT /searches/:id(.:format)  searches#update 
      DELETE /searches/:id(.:format)  searches#destroy 
    movies GET /movies(.:format)   movies#index 
      POST /movies(.:format)   movies#create 
    new_movie GET /movies/new(.:format)  movies#new 
edit_movie GET /movies/:id/edit(.:format) movies#edit 
     movie GET /movies/:id(.:format)  movies#show 
      PUT /movies/:id(.:format)  movies#update 
      DELETE /movies/:id(.:format)  movies#destroy 
    search GET /search(.:format)   movies#search 
    genres GET /genres(.:format)   genres#index 
      POST /genres(.:format)   genres#create 
    new_genre GET /genres/new(.:format)  genres#new 
edit_genre GET /genres/:id/edit(.:format) genres#edit 
     genre GET /genres/:id(.:format)  genres#show 
      PUT /genres/:id(.:format)  genres#update 
      DELETE /genres/:id(.:format)  genres#destroy 
     root  /       movies#index 

的routes.rb

Movies::Application.routes.draw do 
    resources :searches 
    resources :movies 
    get 'search', to: 'movies#search', as: :search 

    resources :genres 
    root :to => 'movies#index' 
end 
+0

请向我们展示为此创建操作定义的路线。我认为这是问题。 – 2013-03-04 00:02:59

+0

编辑的问题与路线 – emailnitram 2013-03-04 00:11:38

+0

这对我来说是没有意义的,该路线正在基于耙路线输出使用。你能不能显示Config/routes.rb的内容? – 2013-03-04 00:13:37

回答

1

那是因为你是从搜索控制器/视图调用它,你可以试试:

<%= simple_form_for @movie do |f| %> 

<%= simple_form_for @movie, url: movie_path(@movie) do |f| %> 

或最坏的情况(因为它将是一条固定的路径):

<%= simple_form_for @movie, url: movies_path, method: post do |f| %> 
+0

我去了最后一个建议。这工作。非常感谢! – emailnitram 2013-03-04 04:12:18

相关问题