react-rails 与 jbuilder 不工作
react-rails with jbuilder doesn't work
我尝试将 react-rails
与 jbuilder 一起使用。
例如,我在 react-rails
.
中使用 this great sample app of react-rails and try to rewrite to use jbuilder as a json response using reference from this part
这些是主要的重写部分:
# app/views/comments/index.html.erb
<%= react_component 'CommentBox', render(template: 'comments/index.json.jbuilder'), {prerender: true} %>
# app/views/comments/index.json.jbuilder
json.presenter do
json.comments(@comments) do |comment|
json.extract! comment, :id, :author
end
json.form do
json.action comments_path
json.csrf_param request_forgery_protection_token
json.csrf_token form_authenticity_token
end
end
json.imgSrc image_path("gundam.jpg")
但是我得到了以下错误:
Started GET "/comments" for 127.0.0.1 at 2015-04-07 18:26:40 +0900
Processing by CommentsController#index as HTML
Comment Load (0.9ms) SELECT "comments".* FROM "comments" ORDER BY "comments"."id" DESC LIMIT 5
Rendered comments/index.json.jbuilder (8.4ms)
Rendered comments/index.html.erb within layouts/application (34.6ms)
Completed 500 Internal Server Error in 43ms
ActionView::Template::Error (SyntaxError: Unexpected token o):
app/views/comments/index.html.erb:3:in `_app_views_comments_index_html_erb___3472795088323540071_70123597415980'
你有解决这个错误的办法吗?
提前致谢。
查看完整源代码:
Use jbuilder but it gets an error · jwako/sample-react-rails-app@508d581
似乎引发了意外标记,因为当 this.props.presenter
已经是 JSON 对象时 CommentBox 组件正在调用 JSON.parse()
in getInitialState
。
您可以通过删除 getInitialState
中的 JSON.parse()
并仅返回 this.props.presenter
.
来修复它
这是一个关于解析现有 JSON 对象的相关 answer。
我尝试将 react-rails
与 jbuilder 一起使用。
例如,我在 react-rails
.
这些是主要的重写部分:
# app/views/comments/index.html.erb
<%= react_component 'CommentBox', render(template: 'comments/index.json.jbuilder'), {prerender: true} %>
# app/views/comments/index.json.jbuilder
json.presenter do
json.comments(@comments) do |comment|
json.extract! comment, :id, :author
end
json.form do
json.action comments_path
json.csrf_param request_forgery_protection_token
json.csrf_token form_authenticity_token
end
end
json.imgSrc image_path("gundam.jpg")
但是我得到了以下错误:
Started GET "/comments" for 127.0.0.1 at 2015-04-07 18:26:40 +0900
Processing by CommentsController#index as HTML
Comment Load (0.9ms) SELECT "comments".* FROM "comments" ORDER BY "comments"."id" DESC LIMIT 5
Rendered comments/index.json.jbuilder (8.4ms)
Rendered comments/index.html.erb within layouts/application (34.6ms)
Completed 500 Internal Server Error in 43ms
ActionView::Template::Error (SyntaxError: Unexpected token o):
app/views/comments/index.html.erb:3:in `_app_views_comments_index_html_erb___3472795088323540071_70123597415980'
你有解决这个错误的办法吗? 提前致谢。
查看完整源代码: Use jbuilder but it gets an error · jwako/sample-react-rails-app@508d581
似乎引发了意外标记,因为当 this.props.presenter
已经是 JSON 对象时 CommentBox 组件正在调用 JSON.parse()
in getInitialState
。
您可以通过删除 getInitialState
中的 JSON.parse()
并仅返回 this.props.presenter
.
这是一个关于解析现有 JSON 对象的相关 answer。