2014-10-05 3 views
-1

У меня есть статический контроллер и пользовательский контроллер.Ruby on Rails ajax 500 синтаксическая ошибка

У меня есть страница профиля пользователя, и я хочу использовать ajax для замены существующего кода на частичную форму. На странице у меня есть кнопка редактирования, которая направляется к действию редактирования в пользовательском контроллере и переходит к представлению edit.js.erb. В этой точке зрения у меня есть следующий код:

$("<%= escape_javascript(render 'static/profile_form'%>").appendTo("#ajax-profile"); 

Everytime я пытаюсь заставить его работать, я получаю сообщение об ошибке, как это:

Started GET "https://stackoverflow.com/users/edit" for 127.0.0.1 at 2014-10-05 17:42:19 -0400 

Started GET "https://stackoverflow.com/users/edit" for 127.0.0.1 at 2014-10-05 17:42:19 -0400 

Processing by UsersController#edit as JS 

Processing by UsersController#edit as JS 

    User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 2]] 

    User Load (0.1ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 2]] 

    Rendered users/edit.js.erb (1.0ms) 

    Rendered users/edit.js.erb (1.0ms) 
Completed 500 Internal Server Error in 61ms 
Completed 500 Internal Server Error in 61ms 

SyntaxError (/Users/UserNameRedacted/Desktop/magazine_alive/yourcoolapp/app/views/users/edit.js.erb:1: syntax error, unexpected tLABEL, expecting ')' 
...tput_buffer.append=(j (render: 'static/profile_form');@out... 
...        ^): 
    app/views/users/edit.js.erb:1: syntax error, unexpected tLABEL, expecting ')' 



SyntaxError (/Users/UserNameRedacted/Desktop/magazine_alive/yourcoolapp/app/views/users/edit.js.erb:1: syntax error, unexpected tLABEL, expecting ')' 
...tput_buffer.append=(j (render: 'static/profile_form');@out... 
...        ^): 
    app/views/users/edit.js.erb:1: syntax error, unexpected tLABEL, expecting ')' 

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

В мой контроллер Users У меня есть:

class UsersController < ApplicationController 

    def create 

    @user= User.find_by(session[:user_id]) 

    @user.create(user_params) 

    end 

    def edit 

    @user= current_user 

    end 

    def update 

    @user=current_user 

    @user.update(user_params) 

    end 

private 

    def user_params 

    params.require(:user).permit(:first_name,:last_name,:email,:bio,:avatar) 

    end 

end 

Статический контроллер

def profile 

    @my_articles = Article.all.order('created_at desc').where(:user_id => current_user).limit(5); 

    @user= current_user 

end 
+0

Покажите нам 'приложение/просмотров/пользователей/edit.js.erb'. Согласно ошибке, где проблема равна – JTG

+0

$ ('# ajax-profile'). Prepend ("<% = j (render: 'static/profile_form'%>"); – Kohl

ответ

0

Так что ваша ошибка говорит:

app/views/users/edit.js.erb:1: syntax error, unexpected tLABEL, expecting ')' 

Его ожидая закрытия скобки. Если вы посмотрите на свой код:

$('#ajax-profile').prepend(" <%= j (render: 'static/profile_form' %> "); 

Вы заметите, что у вас есть несогласованная скобка.

Я подозреваю, что вам нужно изменить этот код этого

$('#ajax-profile').prepend(" <%= j (render: 'static/profile_form')%> ");