-
Notifications
You must be signed in to change notification settings - Fork 371
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
与rails 5/6存在冲突,不知道是哪一方有问题 #165
Comments
@charleyw 我的理解是如果使用了jbuilder,还使用了WeChat,会导致jbuilder输出问题?我自己的项目已经用了jbuilder 2.6.1,似乎没有这个问题?测试也无法复现,能给个可复现的例子么?最好是rspec的failure的测试。 |
昨天用pry-byebug跟踪了一下,发现不是jbuilder的问题,是和rails5有冲突。
后,在controller中查看祖先链时,发现少了
如果注释掉wechat_responder.rb中的那段代码,
至于为何会导致 |
刚才看了一下,这个问题只有在rails 5的API模式下才能重现。 |
我也遇到了同樣的問題,但沒有使用你們的 wechat gem。 我是把原本 app 裡面繼承 |
我的环境是rails5 API的,也遇到了类似的问题 如果把继承换成ActionController::Base则没问题,但是不能那么干:) 那么有两个问题:
|
暂时可以通过手工添加 class ApplicationController < ActionController::API
include ActionView::Rendering
end |
这个问题暂时还没解决,引入 个人认为,插件最好不要修改框架底层的东西 |
wechat (0.8.8)出现同样的问题 |
@mysterytree 能在本地改一下最新0.8.8的这几行确认一下么?
if defined? Base
class << Base
include WechatResponder
end
elsif defined? API
class << API
include WechatResponder
end
end |
@Eric-Guo 实测0.8.11是无法在rails5 api下正常显示json返回的结果的。在0.8.11下按上面回复的修改后可以正常显示出json返回的结果的 但是修改之后GET访问 /wechat 是会报错的,错误信息为“undefined local variable or method `wechat_responder' for WechatsController:Class” |
@numbcoder 找到了一个解决方法,在 Rails 5.1.4 + Jbuilder 2.7.0 + wechat 0.8.12 可以正常使用 class ApplicationController < ActionController::API
include ActionView::Rendering
def render_to_body(options)
_render_to_body_with_renderer(options) || super
end
end |
和 @numbcoder 一样,jbuilder 和 render: json 不能同时用 |
今天我也遇到了,直接include 可解,Rails 6.0.1 class EventsController < ActionController::API
include ActionView::Rendering
# Support render json: nil
def render_to_body(options)
_render_to_body_with_renderer(options) || super
end
end |
rails 5 + jbuilder 2.6 + WeChat 0.8.3, 会导致api json输出body部分为空。具体问题见以下链接https://github.com/rails/jbuilder/issues/346中charleyw的回复。
The text was updated successfully, but these errors were encountered: