0

如果我有来自 ASP .NET 项目的 Javascrips/CSS 文件,并且我想将它们放入我的 Rails 项目中。把它们放在哪里最好?我需要将每个 url 更改为<%= asset_path "img" %>吗?

4

3 回答 3

0

根据http://railsapps.github.io/rails-javascript-include-external.html

DRY 和速度的最佳实践(根据上面的文章)是将所有文件下载到您的项目资产文件夹中,将它们放在每个 application.js/.css 的资产管道中,然后让 rails 将它们编译成一个 application.js 和应用程序.css 处于生产模式。有几种方法可以详细执行此操作(请参阅链接)根据文章速度和 DRY 实践的首选方法是从 application.css/.js 调用所有 js 和 css,而不是放置 stylesheet_link_tag,从视图调用 css 或 js -文件。即使您可能有一个特定的 user.js,您只想在用户页面上使用它也是如此。尽管有一些方法可以将特定文件加载到特定视图中(详见文章),但不必在 application.html(.haml/.erb) 的头部调用它们一次:

= stylesheet_link_tag    "application", :media => "all"
= javascript_include_tag "application"

如果您在 css 中调用文件,例如。一个图像,只要你在“assets/images”中有图像,你只需要在你的css/js-files中将图像称为'image.jpg'。

于 2013-09-02T08:42:21.247 回答
0

将其放入资产文件夹并在视图中添加以下行:

添加 CSS 文件:

<%= stylesheet_link_tag "test.css" %>

添加 JavaScript 文件:

<%= javascript_include_tag 'test.js'%>
于 2013-09-01T20:18:18.840 回答
0

基于@Unknown的回答:

是的,您确实需要使用asset_pathsprocket 助手或其中一个 sprocket 助手来引用 CSS 文件中的资产,以便它们正确包含 MD5 指纹。另外,通过这种方式,您可以在开发和生产之间获得正确的资产(因为它们在开发过程中并不存在于公共场所)。以下是相关指南: http: //guides.rubyonrails.org/asset_pipeline.html#coding-links-to-assets

于 2013-09-01T21:28:15.937 回答