-1
我有一個靜態控制器和用戶控制器。Ruby on Rails ajax 500語法錯誤
我有一個用戶配置文件頁面,我想用ajax來替換現有的代碼。在頁面上,我有一個編輯按鈕,可以轉到用戶控制器中的編輯操作並進入edit.js.erb視圖。在這個觀點,我有以下代碼:
$("<%= escape_javascript(render 'static/profile_form'%>").appendTo("#ajax-profile");
每次我試圖使它的工作,我得到這樣的錯誤:
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 ')'
我一直在通過控制檯創建我的所有用戶,因此我還沒有填寫任何用戶的表單。這可能是一個問題嗎?沒有要編輯的信息?我不想要新的/創建視圖,因爲我有一個用戶登錄頁面。
在我的用戶控制我有:
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
顯示我們'應用程序/視圖/用戶/ edit.js.erb'。根據錯誤的問題是 – JTG 2014-10-05 22:15:33
$('#ajax-profile')。prepend(「<%= j(render:'static/profile_form'%>」); – Kohl 2014-10-05 22:21:43