【问题标题】:Rails/MarionetteJS templateRails/MarionetteJS 模板
【发布时间】:2015-01-23 01:36:29
【问题描述】:

我正在使用 marionette js 编写一个应用程序,并使用 rails 作为我的服务器端。为了处理我的模板,我使用了车把 gem(.hambars 在 haml 中编写模板),我认为我在使用 rails 资产管道时遇到了问题?

我的模板文件夹在我的 assets/javascripts 文件夹中,还有我的其他木偶资料。在尝试过渡到客户端渲染之前,我已经编写了这个应用程序的大部分内容,并且我有一个正在尝试渲染的表单。

在 HTML 中,我使用了 rails 表单构建器 ,一切都按预期工作。但是,一旦我将此表单作为 hamlbars 模板的一部分放入模板文件夹中,我就会收到一条错误消息“未定义的方法 form_for”,我还注意到我不能使用任何路由助手,例如“posts_path”在这些模板中。我的haml是正确的,这不是语法问题有没有人有过这样的经验??

【问题讨论】:

    标签: ruby-on-rails-4 handlebars.js haml


    【解决方案1】:

    事实证明,hamlbars 完全是客户端,而 rails 从来没有机会在服务器端编译它。有一个车把资产宝石应该可以解决这些问题,但在这种情况下它没有。我会将此作为问题报告。

    作为一种解决方法,我提出了一个 jquery 请求,并通过我的 rails 控制器/js 文件服务器端呈现了一个 rails 表单。以防万一有人遇到同样的问题!

    【讨论】:

    • 我一直将我的模板放在 .html.erb 文件中,并使用 呈现表单并使用其他表单助手的*_tag 版本。然后在 Backbone/Marionette 代码中,随着模板的呈现,我用当前记录填充表单以进行编辑。这样我就可以使用 image_tag 使按钮与资产管道一起显示;表单提交是在 JS 中完成的,所以 form_tag 只有一个 '#' 的 url。到目前为止似乎运作良好。
    猜你喜欢
    • 2015-07-25
    • 1970-01-01
    • 1970-01-01
    • 2014-01-29
    • 1970-01-01
    • 1970-01-01
    • 2013-04-30
    • 1970-01-01
    相关资源
    最近更新 更多