2015-07-19 5 views
1

Я пытаюсь отправить данные в действие контроллера в разработке приложений RAILS. Когда я отправляю данные через форму, данные POST достигают определенного действия контроллера, определенного в route.rb. Но он возвращает ошибку 404.Получение сообщений об ошибках после 404 после достижения действия контроллера в рельсах

Вот код:

эксплуатации контроллеров>

class UserActivityController < ApplicationController 
unloadable 

def index 
    #Defining form 
    @userActivity = UserActivity.new 
end 

def create 
    puts "Helloo" 
    @user_activity = UserActivity.new 
    respond_to do |format| 
     format.html # new.html.erb 
     format.json { render json: @user_activity } 
    end 
end 

routes.rb ->

match 'timesheet/create' => 'userActivity#create', :via => :post, :as=>:create 

и я попытался с

post 'timesheet/create', :to => 'userActivity#create' 

Форма ->

Ошибка:

Started POST "/timesheet/create" for 127.0.0.1 at 2015-07-19 11:12:58 +0530 
Processing by UserActivityController#create as JS 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"qsqRIGH8caCz4I25m1sFKviELHEYOWNUsiLYNnc1kP8=", "date"=>"2015-07-19", "project"=>"", "task"=>{"detail"=>""}, "time"=>{"start(5i)"=>"", "end(5i)"=>""}, "issue"=>"", "commit"=>"Create"} 
Helloo 
Current user: XXX (id=XX) 
Missing template, responding with 404 
    Rendered common/error.html.erb (0.6ms) 
Completed 404 Not Found in 7ms (Views: 1.8ms | ActiveRecord: 0.0ms) 

Пожалуйста, помогите мне, чтобы выяснить этот вопрос !.

+2

Ваша форма имеет «remote: true», и ваше действие create имеет формат format.json, которого не должно быть. Я предполагаю, что Rails ищет 'create.js.erb', и поэтому вы получаете отсутствующую ошибку шаблона. – Pavan

+0

Спасибо за предложение. Это моя ошибка, я пропустил создание файла html.erb для этой функции действия контроллера. Но я сделал эту цель полностью. Потому что, в PHP и все, когда почтовые данные с использованием jquery и return будут в json, правильно ?. поэтому, я думал, что в этой функции нет необходимости в шаблоне. –

ответ

1

Где parameters для создания UserActivity? Вы можете видеть из журнала, что user с ID(XX). Кроме того, после отправки методу post вы должны использовать redirect_to или создать файл create.js, чтобы ответить на него js.

+0

Я пропустил HTML-шаблон в функции контроллера. сведения о пользователях, которые вы уведомили, - это некоторые другие задачи redmine, связанные с запросом. Я опубликовал параметр как данные POST, поэтому нет необходимости определять в файле route.rb. –