Open timscott opened 8 years ago
To be honest, I haven't looked at poirot in quite a few years now, so I'm not sure how much help I'm going to be in getting this working with Rails 4...
A quick look shows that Poirot::View
knows nothing about Rails 4. My guess is the way that Rails 4 made locals available to a view renderer has changed. That'd be the place that I'd start looking anyway.
Let me know if you find anything, or better yet, open a PR with fixes. I'm unlikely to get much time to try and investigate and get this to work with Rails 4 anytime soon. Sorry, thats not very helpful I know :crying_cat_face:
For anyone else facing this problem, I switched to stache.
The migration can be pretty painless. On the server side, just follow the stache docs. On the client side you need a helper to match the poirot API:
var renderer = function(e) {
var t = function(t, n) {
return function(r) {
return e(Mustache.to_html(t, r, n))
}
}
, n = {
_partials: {},
_viewFactory: t
};
return e(document).ready(function() {
e('script[type="text/html"]').each(function() {
var t = e(this).html()
, r = this.id.replace(/_([a-z])/g, function(e) {
return e.replace("_", "").toUpperCase()
}
).replace("Template", "");
n._partials[r] = t,
n[r] = n._viewFactory(t, n._partials)
}
)
}),
n
}
(jQuery)
, Mustache = typeof module != "undefined" && module.exports || {};
Then replace poirot.myPartial()
everywhere with renderer.myPartial()
.
I'm finally upgrading an app to Rails 4 which relies heavily on Poirot. Upon server side render of a partial I'm getting:
I assume this is because Rails 4 is not supported. Correct? What are my options?