У меня есть проект рельсов, в котором я должен сохранять данные подписчиков в базе данных, не обновляя страницу!Моя форма не хранит параметры в модели
Итак, я закодировал кнопку Ajax. когда я нажимаю кнопку, появляется всплывающее предупреждение и возвращает идентификатор нового пользователя, который только что был создан. Проблема в том, что я смотрю на консоль рельсов для последней записи модели User.last все поля записи ноль (кроме ID). Как я могу исправить эту проблему?
маршруты:
users_new GET /users/new(.:format) users#new
users GET /users/index(.:format) users#index
create POST /users/create(.:format) users#create
вот мой вид в приложение/просмотров/пользователей/new.html.haml
.form1
%h1
Subscriber
=form_for @user do |form|
- unless @user.errors.empty?
- @user.errors.full_messages.each do |message|
.alert.alert-danger
%ul
- @user.errors.full_messages.each do |message|
%li= message
%div{ :data => { :role => :content} }
.row.form-group
.col-lg-3
%label
Email:
=form.text_field :email, :class => 'form-control'
.row.form-group
.col-lg-3
%label
Name:
=form.text_field :name, :class => 'form-control'
.row.form-group
.col-lg-3
%label
Phone Number:
=form.text_field :phone_number, :class => 'form-control'
.row.form-group
.col-lg-3
%label
Address:
=form.text_field :address, :class => 'form-control'
%ui-grid-a
%ui-block-a
%a.primary{ :data => { :role => :button, :remote => create_path, :parent => '.form1', :success => 'saved' } } Save
Это контроллер:
class UsersController < ApplicationController
def index
end
def new
@user = User.new
end
def create
@user = User.new params[:user]
@user.save
render :json => @user
end
end
My js file:
function saved(user){
alert(user.id);
}
Ваш JS-файл является '.js.erb'? –
Нет, файл .js – Kasra