-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