И снова я продолжаю блок вопросов о Rails приложениях. Есть todo приложения, в нем выводиться список, всех Project'ов и заданий к ним. Снизу есть форма для добавления нового Project'а. В код контроллера я добавил
format.js
def create
@project = Project.new(project_params)
respond_to do |format|
if @project.save
format.html { redirect_to todo_path, notice: 'Project was successfully created.' }
=> format.js
format.json { render :show, status: :created, location: @project }
else
format.html { render :new }
format.json { render json: @project.errors, status: :unprocessable_entity }
end
end
end
В саму форму добавлен
remote: true
<%= form_for(@project, remote: true) do |f| %>
<%= f.text_field :name, :placeholder => ' Enter new project here..' %>
<but><%= f.submit 'Add Project', remote: true %></but>
<% end %>
Создан файл
сreate.js.erb
$('#projects').html("<%= escape_javascript render('projects') %>");
Только вот есть один нюанс, создание нового проекта, то есть сама форма, у меня находиться в Todo
(app/views/todo/index.html.erb) а контроллер для создания нового Project'a в
(app/controllers/project_controller.rb), а выше созданный файл create.js.erb в
(app/views/projects/create.js.erb).
И вот собственно то что происходит на страничке: после нажатия на кнопку Add Project, ничего не происходит, но если обновить то новый Project добавляется. Что я сделал не так??
вот что после нажатия на кнопку пишет лог:
ActionView::Template::Error (Missing partial projects/_projects, application/_projects with {:locale=>[:en], :formats=>[:js, :html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :jbuilder, :coffee]}. Searched in:
* "/home/xo8bit/ruby/todo-app/app/views"
):
1: $('#projects').html("<%= escape_javascript (render 'projects') %>");
app/views/projects/create.js.erb:1:in `_app_views_projects_create_js_erb__2233098556876763135_37757080'
app/controllers/projects_controller.rb:29:in `create'
Rendered /home/xo8bit/.rvm/gems/ruby-2.0.0-p481/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_trace.text.erb (1.0ms)
Rendered /home/xo8bit/.rvm/gems/ruby-2.0.0-p481/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/_request_and_response.text.erb (1.4ms)
Rendered /home/xo8bit/.rvm/gems/ruby-2.0.0-p481/gems/actionpack-4.1.4/lib/action_dispatch/middleware/templates/rescues/template_error.text.erb (17.7ms)