2014-11-15 1 views
0

Я новичок в рельсах. В настоящее время пытается извлечь из api и сохранить значение каждого запроса api в форме для входа в мою БД.Form_helper и маршрутизация

На моей странице есть строка поиска вверху, которая вытягивает форму api и возвращает значение каждого результата на экран с помощью кнопки, предлагающей добавить к БД.

<ul> 
<% @movies.each do |movie| %> 
<li><%= movie['Title'] %> | <%= movie['Year'] %> | 
<%= form_tag(movies_path, :method => "post") do %> <%=hidden_field :movie, :title, :value =>  movie["Title"] %> <%= hidden_field :movie, :year, :value => movie["Year"] %> <%= hidden_field :movie, :imdb_id, :value => movie['imdbID'] %> <%= submit_tag "Add Movie", :name => nil %> <% end %> </li><br> 
<% end %> 
</ul> 

Мой контроллер для обоих моих создать @movie для страницы индекса/результатов поиска это

class MoviesController < ApplicationController 

def index 
    if params[:search].present? 
     @movies = Omdbapi.search(params[:search]) 
    else 
     render :'/watchlists' 
    end 
end 

def show 
    @movie = Omdbapi.more_info(params[:imdb_id]) 
end 

def create 
     @movie = Movie.new(movie_params) 
    if @movie.save 
     redirect_to movies_path(@movie) 
    end 
end 

Когда я пытаюсь попасть представить рельсы бросить эту ошибку

Missing template movies/create, application/create with {:locale=>[:en], :formats=>[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. 

Любой помощь была бы потрясающей.

ответ

0

@movie по какой-то причине не был сохранен, так что redirect_to не был выполнен. Add else справка к состоянию:

if @movie.save 
    redirect_to movies_path(@movie) 
    else 
    render action: 'new' 
    end 
+0

Большое спасибо. У меня возникла проблема с моей схемой и проверками. –