2012-02-28 58 views
0

我有一个卡布奇诺应用程序,我正在与Rails后端集成。该应用程序的主要功能是完全由Rails管理的身份验证。我把它的方式是,如果用户登录,这样的卡布奇诺JS有条件的执行:将卡布奇诺与Ruby on Rails集成

<% if signed_in? %> 

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

<% end %> 

其中signed_in?是返回反映用户是否通过验证布尔值一轨方法。

我遇到的问题有两个方面,第一,我把这个脚本放到show用户视图中,当我把卡布奇诺.j文件放到app/views/users目录下时,他们没有被检测到。在rails目录结构中,我要将这些文件放在哪里?它是公开的吗?或资产?

二是我可以采取上面的嵌入式ruby条件语句,并在一个单独的erb文件中使用它? (一个不与任何标准视图关联,但仍然可以访问后端的rails方法)

回答

0

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

/app/assets/javascripts/public/javascripts会很好,但因为它不是你的应用程序的代码/vendor/assets/javascripts是去的地方。

对于第二个问题,我真的不知道你想达到这样的设置是什么,但使用谐音可以为你服务好:http://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

+0

感谢您的回答,没有的JavaScript文件夹里面/供应商/资产,所以我创建了自己的应用程序,但当应用程序尝试运行脚本时,我仍然收到404错误。 – 2012-02-28 18:48:01

+0

在启动服务器之前,您是否运行'rake assets:precompile'?有关Rails 3资产管道的更多信息,请参阅http://guides.rubyonrails.org/asset_pipeline.html。 – Koraktor 2012-02-28 22:44:06