2014-12-01 3 views
1

У меня есть похвал/_create.html.erb, которая включает в себя в форме -Оказание частичной с помощью AJAX - отсутствующей вид

<%= form_for(current_user.commendations.new(...), remote: true) do |f| %> 
    <%=... 

и в commendations_controller.rb

def create 
... 
    respond_to do |format| 
    format.html { redirect_to :back } 
    format.js 
    end 
end 

, но я получаю следующее сообщение об ошибке в журнале сервера -

Completed 500 Internal Server Error in 7ms 

ActionView::MissingTemplate (Missing template commendations/create, application/create with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :jbuilder]}. Searched in: 
    * "/Users/dan/Documents/ROR/fic/app/views" 
    * "/Users/dan/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/devise-3.4.1/app/views"): 
    app/controllers/commendations_controller.rb:9:in `create' 

Я не могу видеть, куда я иду неправильно - remote: true шо uld trigger format.js, который, в свою очередь, должен перезагрузить частичный, нет?

В routes.rb У меня есть

resources :commendations, only: [:create] 
+0

1 где помещается 'commendations/create'? 2. пожалуйста, произведите 'touch Users/dan/Documents/ROR/fic/app/views/application/_create.html.erb' и повторите попытку –

ответ

2

Вам нужен файл с именем create.js внутри приложения/просмотров/похвал/

И в create.js сделать:

$("#your_div").html("<%= j render(:partial => 'commendations/your_partial') %>"); 
Смежные вопросы