我正在Rails中开始一个新项目,看起来application.js清单文件正在用我引用的javascripts做一些有趣的事情 - 它是否将这些文件缓存为资产管道的一部分?
这是发生了什么.我将名为jquery.autoresize.js的javascript文件添加到vendor/assets/javascripts文件夹,然后在application.js清单中引用该文件,如下所示:
//= require jquery.autoresize.js
Run Code Online (Sandbox Code Playgroud)
然后我启动了rails服务器.但在我的应用程序中导航后,我意识到我不小心添加了错误版本的jquery.autoresize.js文件.因此,我删除了该文件,然后将正确的版本添加到vendor/assets/javascripts文件夹中.但是,令我恐惧的是,当我重新加载页面时,它仍在加载旧的javascript文件.
我尝试清空浏览器缓存,然后退出并重新启动Rails服务器,但无济于事.我通过简单地重命名我的javascript文件并引用新名称一起破解了一个解决方案,这个工作正常.但必须有一个更好的解决方案.
新资产管道是否以某种方式缓存您引用的文件?如果是这样,我该如何清除缓存?谢谢你的帮助!
javascript caching ruby-on-rails ruby-on-rails-3.1 asset-pipeline
我开始学习Ruby on Rails,并查看其他人的代码.有没有办法获取现有的代码库并创建对象关系图或实体关系图(ERD)?
我知道Visio可以在给定数据库的情况下做一些事情,但我希望能够生成类和对象的图表.
是否可以在Procfile中添加注释?如果是这样,语法是什么?
不确定这是否重要,但我在Heroku上主持.
我使用Rails 3.1.3克隆了我自己的一个应用程序,在堆栈雪松上的Heroku上创建了一个应用程序,将其推送到Heroku,然后尝试运行
heroku run rake db:migrate 并收到此错误消息
No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb)
/usr/local/lib/ruby/1.9.1/rake.rb:2367:in `raw_load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2007:in `block in load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling'
/usr/local/lib/ruby/1.9.1/rake.rb:2006:in `load_rakefile'
/usr/local/lib/ruby/1.9.1/rake.rb:1991:in `run'
/usr/local/bin/rake:31:in `<main>
Run Code Online (Sandbox Code Playgroud)
我跑的时候,我在应用程序的根目录中rake db:migrate.该应用程序适用于localhost.
我有什么想法可能做错了吗?
我注意到的唯一奇怪的是,在错误信息中,它指的是 ruby/1.9.1/
但是,我使用rvm和ruby 1.9.2创建了应用程序 ruby -v
ruby -v
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
Run Code Online (Sandbox Code Playgroud)
我的Gemfile
source 'http://rubygems.org'
gem 'rails', '3.1.3'
# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'
group :development, :test do
gem 'sqlite3'
end
group :production do
gem 'pg'
end
group …Run Code Online (Sandbox Code Playgroud) 将任何长度超过几百个字符的字符串粘贴到 Heroku rails 控制台需要永远。粘贴的字符越多,速度越慢,逐个字母。有没有办法让这个以合理的速度运行?
Rails 3中最酷的一件事就是通知.但我想问一下,我是否可以订阅所有通知名称的列表?
我在文档中找不到它(只有几个例子),所以如果我在这里找不到答案,我只能去代码.
在我们的rails 3.1.0应用程序中,我们希望根据用户凭据访问多个数据库.有多种解决方案.一种是为每个用户安装一个应用程序,每个应用程序只访问一个数据库.问题是,如果有许多数据库(例如数百个),则应用程序安装数量相同.维护大量应用程序可能很麻烦.另一种方法是访问应用程序中的多个数据库.然而,这种方法似乎不容易在rails 3.1.0中得到支持.当然,应用程序中会有一个代码来决定为刚刚登录的用户访问哪个数据库.有人可以提供有关该方法的优缺点的解决方案和见解吗?非常感谢.
如果你使用一个CDN托管的字体,与@字体面,或者像Typekit服务,是有可能的主机读取正在由字体在页面(渲染的所有字符,因此阅读的内容你的页面)?
如果是这样,这似乎是一个重要的隐私问题.
有关此主题的任何专业知识或推荐阅读?
我刚刚开始使用Rails 3.2,当我使用create或update_attributes时,我似乎总是得到批量分配错误.这是正常的吗?我应该如何创建和更新记录?
是否可以在运行时取消黄瓜测试?我已经试过Ctrl+ C和esc,但无济于事.我开始运行测试后,唯一可以阻止黄瓜的方法是等待测试完成或使用操作系统手动终止进程.有没有更好的办法?
我是Rails 3的新手,我坚持认为很容易解决的问题.我正在关注Head First:Rails中的示例,但得出他们正在使用rails 2的结论.
我做了一个像这样的html.erb文件:
<h1>New user</h1>
<% form_for(@user, :url=>{:action=>'create'}) do |f| %>
<p>Fullname: <%= f.text_field :fullname%></p>
<p>Username: <%= f.text_field :username%></p>
<p>Email: <%= f.text_field :email%></p>
<p>Password: <%= f.text_field :password%></p>
<p><%= f.submit "Create" %></p>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我想显示这个表单出现当我去http:// localhost:3000/users/new所以我添加了这样的路线:
resources :users
match "users/new" => "users#new"
match "users/create" => "users#create"
Run Code Online (Sandbox Code Playgroud)
当我去地址时,它显示的是一个带有H1标题的网页:新用户,但它没有显示任何其他内容.
我忘记了什么?