【问题标题】:Integrating Cappuccino with Ruby on Rails将 Cappuccino 与 Ruby on Rails 集成
【发布时间】:2012-02-28 09:27:16
【问题描述】:

我有一个正在与 Rails 后端集成的 Cappuccino 应用程序。该应用程序的一个关键特性是完全由 Rails 管理的身份验证。我设置的方式是,如果用户登录,则卡布奇诺 js 有条件地执行,如下所示:

<% if signed_in? %>

<div id="cappuccino-body">
<script type="text/javascript">
document.write("Hello World")
</script>
</div>

 <% end %>

其中signed_in? 是一个rails 方法,它返回一个反映用户是否经过身份验证的布尔值。

我遇到的问题有两个,首先,我将此脚本放入 show user 视图中,当我将 cappuccino .j 文件放入 app/views/users 目录时,未检测到它们。我将这些文件放在 rails 目录结构的哪个位置?是在公共场合吗?还是在资产中?

其次,我可以将上面嵌入的 ruby​​ 条件语句放在单独的 erb 文件中使用吗? (不与任何标准视图关联但仍可以访问后端的 rails 方法的视图)

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3.1 erb cappuccino


    【解决方案1】:

    您应该将 Cappuccino 的 JavaScript 文件放入 /vendor/assets/javascripts

    /app/assets/javascripts/public/javascripts 可以,但因为它不是您的应用程序代码,所以 /vendor/assets/javascripts 是可以去的地方。

    对于第二个问题,我不确定你想通过这样的设置实现什么,但使用部分可能会很好地为你服务:http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

    【讨论】:

    • 感谢您的回答,/vendor/assets 中没有 javascripts 文件夹,所以我创建了自己的文件夹,但是当应用程序尝试运行脚本时,我仍然收到 404 错误。
    • 您在启动服务器之前是否运行了rake assets:precompile?有关 Rails 3 资产管道的更多信息,请参阅guides.rubyonrails.org/asset_pipeline.html
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2012-10-14
    • 2019-01-07
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多