在我以前rails版本的示例项目中,我将访问以下图像:
<%= image_tag(product.image_url, :class => 'list_image') %>
“列表图像”)%>
既然图像文件夹已移动到app/assets/,我如何在rails 3.1中执行相同操作?链接如下:
<img src="/images/my-image.jpg" />
成为:
<img src="/assets/my-image.jpg" />
刚开始适应rails 3.1,我开始编写coffeescript和sass,在开发过程中一切正常。在生产环境中运行服务器时,我只得到:
<link href="/stylesheets/application.css" media="screen" rel="stylesheet" type="text/css" />
<script src="/javascripts/application.js" type="text/javascript"></scr
当我在本地运行项目并且没有运行resque时,我将在使用enqueue时收到一条错误消息。我完全理解这一点,因为resque服务器没有运行
是否有一种方法可以捕获该错误,以便我可以将其显示为闪存错误消息,而不是停止执行。当Rails.env==production或staging时,我通常使用resque执行作业。在开发中,工作是直接完成的 所以,如果在生产中执行Resque.enqueue(MyJob)而在开发中直接执行MyJob.perform?我更愿意在一条红色的闪光信息中显示这个异常。是
我正在使用gem编辑余额:
index.html.erb:
<%= best_in_place bankaccount, :balance, :display_with => :number_to_currency %>
最终使用BIP的:display_as=>:mk_bal,模型Bankaccount中定义的mk_bal为:
def mk_bal
ActionController::Base.helpers.number_to_currency(self.bala
我有一些仅用于资产管道的宝石。一个例子是:
gem 'jquery-datatables-rails', github: 'rweng/jquery-datatables-rails'
不幸的是,我找不到这个gem的确切安装位置。“gem list--local”甚至没有显示它
我需要修复它,因为我正在尝试在datatables中使用引导样式,这在最新版本中是允许的。但是gem中包含的datatables版本很旧
有人知道这些宝石去哪了吗?我对资产管道非常、非常困惑。在这种情况下,我会在git
我在Sorcery.rb中添加了include-Sorcery::TestHelpers::Rails
我的控制器规格看起来像
describe "success" do
before(:each) do
@user = Factory(:user)
@attr = { :username => @user.username, :password => @user.password }
end
it "should sign the user in" do
我在本地机器上使用sphinx+thinking_sphinx,遇到了非常奇怪的问题
我有两种型号——用户和微型电脑。斯芬克斯得到并展示给用户,但它在我的生产机器上找不到微孔。在我的本地机器上,它可以
在生产中,我尝试:
root@serverserj:/vol/www/apps/ror_tutorial/current# rake ts:config
Generating Configuration to /vol/www/apps/ror_tutorial/releases/20120125
我需要在控制器中获取日期参数。在我的查看页面中,我有
. 在我的控制器中,我需要检索它并将所选日期传递给另一个控制器。。我该怎么做
def创建
@task=task.new(参数[:task])
@task.save
重定向到(日历路径(参数[:到期日])
结束“日历”,:操作=>“显示”,:截止日期=>参数[:截止日期]]>
<%= redirect_to :controller => 'calenders', :action => "show", :due-date =&
我希望Rails应用程序既可以作为引擎使用,也可以作为独立应用程序使用
具体来说,我有一个新生的应用程序,我想把它插入客户的网站,但理想的情况是,我想把它作为一个独立的系统来使用。但是,如果我的应用程序的引擎化版本中存在config/environments/*.rb,则在我依赖于我的引擎的应用程序启动时,我会收到一个未初始化的常量错误;Rails抱怨在development.rb中找不到MyEngineModule::Application常量,我认为这只是一个加载顺序问题,因为在我独立运行应
我使用rails 3.1.0.rc5和backbone.js,在heroku上部署rails应用程序时遇到问题,尽管在我的本地主机上一切正常。我将应用程序推送到Hiroko并迁移了数据库,结果出现以下错误:(log heroku)
我认为问题在于链轮断裂,尽管我使用了最新版本(链轮(2.0.0.beta.13))
样式表链接标记和javascript包含标记的路径已断开(/app/app/assets/application.js)(在日志中)。
谢谢您的帮助。预编译资产为我解决了这个问题。为此
我一直在使用Rail3.1,刚刚注意到当我打开资产管道时,javascript_扩展和样式表_扩展似乎被忽略了。这是正确的行为还是我做错了什么?我在谷歌上做了很多搜索,但都没有找到任何相关信息。在深入挖掘之后,我发现如果资产管道转向清单文件,那么在rails 3.1中javascript和样式表的扩展就会被忽略 深入挖掘之后,我发现如果资产管道转向清单文件,那么在rails 3.1中javascript_扩展和样式表_扩展将被忽略
我使用CanCanload\u和\u authorize\u resourcehelper方法获取资源并生成授权,但我有一个这样的嵌套资源
load_and_authorize_resource :company
load_and_authorize_resource :accountings, :through => :company, :class => 'Departments::Accounting'
但我需要
@例如,accountings可以由另一个属性(而不是Depa
我缺少资产管道功能。在开发过程中一切都很好,我开始在生产环境中运行,一切都很糟糕
因此,我在app/assets/images中有一个名为“logo.png”的图像
我可以预编译(RAILS_ENV=production rake assets:precompile),并且我可以验证在public/assets中现在是否存在logo.png和logo-5fa60e416f495e562c56a5087fe696dc.png
然后我在生产rails的thin-e生产中运行
但我得到了一个破碎的图像
在Rails中,是否有一种方法可以在一条语句中运行多个SQL查询,例如:
UPDATE `dvd_actor` SET actor = replace(actor, 'Ó', 'Ó');
UPDATE `dvd_actor` SET actor = replace(actor, 'Á', CHAR(193));
UPDATE `dvd_actor` SET actor = replace(actor, 'É', CHAR(201)
我正在我共享的Dreamhost帐户上玩Spree。要安装它,我必须在FastCGI下运行域并手动升级我的rubygems
在所有这些和设置FastCGI之后,我创建了一个虚拟站点,一个空白索引控制器,并将其设置并运行
然后我安装了spree,现在我的应用程序无法加载,我在生产日志中得到的信息是:
2012年2月22日星期三22:22:59-0800开始获取68.147.237.245的“/”
TypeError(无法复制NilClass):
如果我将路由切换回原始配置并重新启动fcgi脚本,它
问题
我有一个Rails 3.0.4应用程序,我按照来自的说明升级到3.1.4
现在我遇到了资产的问题,因为它们没有得到解决,在服务器日志中给出如下消息:
Started GET "/assets/application.css" for 127.0.0.1 at 2012-04-08 03:57:13 -0500
Served asset /application.css - 404 Not Found (15ms)
ActionController::RoutingError (No ro
我正在与一个GEM呼叫best_in_place合作:
新todo项目的创建通过以下方式完成:
<%= best_in_place @user, :name, :type => :input, :nil => "Click me to add content!" %>
respond_to :html, :json, :js
def todo_item_fast_create
@todo_list = TodoList.find(params[:id])
我正在将rails3.0应用程序升级到rails3.1.10
我有一个模型
class User < ActiveRecord::Base
belongs_to :account
.....
def some_method
return unless self.account.updated?
.......
end
end
class用户false user.name=“changed”user.changed?#=>真的user.save user.changed?#=
嗯,问题如下。我的模型层次结构如下:
class A < ActiveRecord::Base
end
Class B < A
end
class C1 < B
end
class C2 < B
end
这正是我们所需要的。然而,事实证明,每个请求都会卸载模型,而不会再次加载(由于这个原因,不确定)。
在这种情况下,如果模型不在内存中,ActiveRecord将进行如下查询
B.find 224
# => SELECT "bs".* FROM "bs" W
好吧,我很困惑。我尝试在Rails3.1下将shoulda与Test::Unit结合使用,之前在Rails2.3.11中已经成功地这样做了
我的档案中有以下内容:
group :test do
gem 'shoulda'
end
(我已经运行了bundle install-bundle show shouldashowsc:/Ruby192/lib/ruby/gems/1.9.1/gems/shoulda-2.11.3)
我有下面的test_helper.rb
ENV["RAILS_ENV
这是我在这里的第一个问题,尽管我是常客。我试着自己去寻找答案,但没有快乐
因此,我在coffescript(Rails 3.1)中有一个类,如下所示:
root = global ? window
class root.CTimelineGraph
constructor: (div, @w, @nw, @table_name) ->
@columnNames = ""
@dbReadTable(@table_name)
..
dbReadTable: (t
我想从Eclipse/AptanaStudio 3.0中访问Rails3.1文档。我怎样才能做到这一点呢?我不相信您不需要做一点工作就可以从Eclipse/Aptana Studio访问Rails 3.1文档/api
您可以下载文档的本地副本并从您的计算机上运行。我从以下网站找到了可下载的文档:
我下载了这个tar球,解压缩并将其移动到我的根Apache目录(因此它位于localhost/rails311)。然后,在Aptana中,我可以使用Web浏览器视图加载它,并从IDE中访问它。。。有点像
这条线是:
product_properties.includes(:property).where("properties.name = 'Label Description'").first
它存在于一个“产品”模型中,该模型具有许多:产品属性。SQL正在生成,但抛出了一个MySQL错误,因为它正在尝试选择一个空白列:
SELECT `product_properties`.`` AS t0_r0, `product_properties`.`id` AS t0_r1, ...
如何
所以我有不同的控制器,它们共享很多功能,我想知道是否有办法在它们之间共享类似的功能
例如:
= link_to 'Edit', dvd_path(dvd), :class => 'btn'
控制器之间唯一变化的是对象,而不是dvd,它将是书籍或游戏。所以我认为必须有一种方法来创建一个分部,它使用控制器的正确路径,而不必重写每个路径。而且不需要发送对象
我很欣赏你的想法
编辑
@德法耶:我想做的是重用上面的代码,并将其应用到7个左右不同的控制器上。
上面的代码只是一组始终相同的链接和路径的
在我的Rails 3.1应用程序中,我创建了一个机架中间件来验证访问。如果访问未经批准,用户将被重定向到页面。具体来说,这将是一个页面,我已经在我的意见。假设我试图重定向到dummy.html.erb,我在routes.rb中定义为
match '/dummy', to :'page#dummy'
佩奇是我的控制器
我尝试了以下方法,但似乎遇到了一些重定向循环
我的机架中间件位于/lib中:
class AccessVerifier
def initialize(app)
@app
我已经安装了filepicker railsgem,可以将文件上传到filepicker.io服务器。当我尝试为不同的用户配置文件显示图像时,会出现以下错误:
undefined method 'avatar_url' for nil:NilClass
在我的用户目录下的show.html.erb文件中,我有:
<%= filepicker_image_tag @user.avatar_url, w: 160, h: 160, fit: 'clip' %>
你知道为什么这样不行吗
我有一个模型,看起来像这样:
class User
include Mongoid::Document
field :email
validate :email, presence: true, uniqueness: true
end
我有一个测试看起来像
it { User.new.should_not be_valid }
it { FactoryGirl.build(:user).should be_valid }
it { should validate_pre
这就是问题所在,我使用的是Typus,它在/vendor/assets下包含一个fancybox jquery插件。fancybox版本太旧(1.3.4),不能与rails 1.9.x配合使用,因此我需要用与该版本的jquery配合使用的fancybox 2.x来替换它,因为我网站的其余部分都使用jquery 1.9
Typus的application.js清单以这种方式加载fancybox
//= require jquery.fancybox-1.3.4.pack
所以我想我可以添加带有该
我正在从非常早期的版本升级redmine实例。我完全按照教程所说的去做。但是命令rake db:migrate rails\u env=production不能正确修改数据库。有很多字段没有添加到表中。我签出了schema.rb文件,它看起来很好。命令运行时没有任何错误。我可以从输出中看出,生成了许多新索引。我做了一个db:schema:load,但也不起作用。如何迁移数据?我想我有两个选择。
1.做一个真正的数据库:迁移
2.创建一个新版本数据库并从旧数据库加载数据,也需要说明
欢迎提供任何建
我正在使用rails 3.1.0,并试图将Capistrano设置为预编译资产。Capistrano v2.8.0在Capfile中有“load‘deploy/assets’”。但当我运行“cap deploy”时,它会显示以下错误:
cap deploy
/usr/lib/ruby/1.8/capistrano/configuration/loading.rb:183:in `find_file_in_load_path': no such file to load -- deploy/ass
我的Rails 3.1.0应用程序在production环境中与passenger一起运行,并且我有一个部分,在该部分中,应用程序允许用户更改其个人资料图片,因此我使用ajax上传器上传图像,在我的控制器中,我上传文件,并生成不同大小的图像然后,我使用image\u标记渲染新图像,但在我重新启动服务器之前,应用程序不会显示图像
我得到的是没有路径匹配[get]“assets/path/to/image.png”
如果我重新启动服务器,它将显示映像,但显然我不能在用户每次上载新映像时重新启动服务器
我已经试过几次了。我使用rvm,我使用的ruby是REE1.8.7。在更改我的文件后运行“bundle update”会使处理器几乎100%挂起。它已经运行了一个多小时了。有什么特别的事情我需要做吗?我想出了如何调试它,从而能够解决我的问题
简短版本(基于我对bundler的肤浅了解):
bundle update或bundle install都会查看GEM文件,然后尝试解析指定GEM的依赖关系。这是导致您的CPU烧坏的步骤,最有可能的情况是(它应该在打印获取源索引之后)http://ruby
我正在用Rails 3.1更新一个站点并添加一些功能。此应用程序跟踪网站集合的测试。最初,我将每个测试的分数存储为测试表中的一列,但现在我创建了一个名为Reviews的新模型,用于保存每个测试的分数和注释的历史记录。模型如下所示:
class Site < ActiveRecord::Base
has_many :tests
has_many :reviews, :through => :tests
class Test < ActiveRecord::Base
参数数量错误(2对1)
提取的源(第5行附近):
资产
我试过:
<%= stylesheet_link_tag :all %>
但我得到了:
<link href='assets/all.css' ...>
最让我困惑的是,我在MAC OS上运行一个应用程序,除了mysql和Gemfile之外,它的配置几乎相同,运行得很好,但当我转向centos5时,我发现了这些错误
<%= stylesheet_link_tag "application
Rails应用程序、学习咖啡脚本和Backbone.js:
Uncaught TypeError: Cannot use 'in' operator to search for 'id' in easy
_.extend.setbackbone.js:205
Backbone.Modelbackbone.js:142
Gamegames.js:13
(anonymous function)games.js:34
jQuery.Callbacks.firejquery.js:1047
jQuery
我有一个表单,我正在formtastic中构建,它适用于多个模型
这个表单用于一个模型和多个嵌套模型,但是每个部分都使用css和javascript分隔,但是我在每个部分上都有一个提交按钮
如何修改每个按钮的操作,以便让控制器知道帖子来自哪个部分(用于重定向到下一部分)
我能想到的基本解决方案是为同一动作的标记使用单独的语义表单,并使用一个名为节的不同隐藏字段
这是解决这个问题的最佳方法吗?您可能想尝试一下,它是formtastic的最新替代品,并且与Rails自己的表单助手完全兼容。然后,您可
我有一个视图文件夹,其中包含许多js.coffee文件,在执行各种控制器操作时调用这些文件。在提交远程表单时调用它,并在控制器中由REPORT_with行触发。我以create方法为例。需要注意的是,所有这些在开发模式下都能完美工作。在生产中,我已经确保预编译了我的资产,运行了bundle安装--部署等
用户\u controller.rb
def create
@user = User.new(params[:user])
if @user.save
respond_with
我认为:
<% @top_posts.each do |post| %>
<li>
<%= post.title %><br />
<%= link_to "Most popular comment", comment_path( post.comments.order("vote_cnt DESC").first )
</li>
<% end %>
安装Resque gem并运行worker后,我的应用程序现在会产生一个资产管道错误:
Sass:SyntaxError:找不到要导入的文件或文件不可读
我创建了一个新的分支,并将问题缩小到运行Resque worker。我只更改了三个文件。以下是复制的步骤:
1) 将Resque gem添加到gem文件:
gem 'resque'
2) 创建一个Resque rake任务:
# lib/resque.rake
require 'resque/tasks'
task "resque:set
我的测试全部通过,结果如下:
开始
以361.988408秒完成
479次测试,1017次断言,0次失败,0次错误,0次挂起,0次遗漏,0次通知
0%通过
为什么我看不到rails 2.3中常见的进度点?为什么会说“0%通过”?我想知道这些点是否变成了白色,是否真的存在于看似空白的地方?我不喜欢将终端更改为黑色背景。;-)
同样在我的单元测试中,它说“在0.0秒内完成”。这显然是错误的。您是否碰巧使用了类似timecop的东西?我记得有一次对“0.0秒”感到困惑,结果是我在测试后忘记了“及时回来
在我的应用程序中,我使用了一个jQuery插件FullCalendar——它是一个jQuery日历,看起来像谷歌日历
我想编写一个功能测试(CalendarControllerTest
我正在尝试使用自动注销功能
这是我的模型:
class Student < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable, :timeoutable
def timeout
3.seconds
end
end
我登录,然后我等待5秒钟,此时,学生课
我在这个小组和其他网站上搜索了一下,找到了一篇文章的点点滴滴
解决我的问题,但还没有找到任何真正有效的方法
这是我的问题。
我正在运行Rails 3.1并部署到Heroku cedar堆栈
我的资产/样式表目录中有蓝图
当我尝试将其添加到我的应用程序模板时:
<%= stylesheet_link_tag 'blueprint/screen', :media => "screen,
projection" %>
<%= stylesheet_link_tag
为了自定义设计视图,我必须访问位于以下位置的设计文件夹:
D:/Ruby192/lib/ruby/gems/1.9.1/gems/devise-1.5.2/app/views/devise/registrations/new.html.erb
我希望Desive定制包含在git中,无论我将代码带到哪里(不同的pc,从github下载等)
如何将Desive安装在app文件夹中而不是gems文件夹中(这是我使用的每台计算机的特定文件夹)
如果不可能,我应该如何使用它?从设备:
由于Desive是
我有一个类别模型,它有许多事件。在类别控制器中,我有:
@categories = Category.includes(:events).order("events.updated_at DESC")
在我看来,我有:
@categories.each do |category|
category.events.each do |event|
这导致:
Category1 - Event4 - updated 1 minute ago
Category1 - Event2 - upda
将Rails 3.1.3与Ruby 1.9.3p0结合使用
我发现,默认情况下,Rails不会对表单按钮使用句子大小写。例如,它不生成“更新用户”按钮,而是生成“更新用户”按钮
按钮名称来自。有没有一种方法可以创建一个默认值来关闭模型名称?上的RubyonRails指南i18n部分没有介绍这一点,因此可能不可能。以下操作不起作用:
en:
helpers:
submit:
update: 'Update %{model}.downcase'
总的来说,我很高兴能找到有关
我是RubyonRails新手。我在检查一些代码。我从我的朋友那里复制了现有项目的所有文件夹,并将它们粘贴到我机器上新创建的项目中。并且还更改了配置文件。它显示以下错误:
*缺少模板
缺少模板电影/索引,应用程序/索引带有{:locale=>[:en],:formats=>[:html],:handlers=>[:erb,:builder,:coffee]}。搜索:“./软件工程,了解软件即服务/软件/项目/Rottnpotates/app/views”*
有人建议我,这是因为没有安装haml,
我完全被这个错误迷住了。使用Rails 3.1尝试实现Formastic Bootstrap gem并出现错误:
`:没有这样的文件要加载--formtastic/helpers/buttons\u helper(加载错误)
Application.css
*= require formtastic
*= require formtastic-bootstrap
Gemfile
group :assets do
gem 'sass-rails', " ~> 3.1.0"
gem
当我尝试运行rake db:seed--trace时,我得到以下错误:
rake aborted!
stack level too deep
详情如下:
/home/sam/.rvm/rubies/ruby-1.9.3-p0/bin/ruby -e $stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift) /home/sam/.rvm/gems/ruby-1.9.3-p0@dcaclab/bin/rake db:seed --tra
在启用资产管道的情况下,如何访问rails 3.1中维护页面上的资产
启用资产管道后,所有资产的文件名中都有一个哈希。然而,维护页面是普通的HTML,apache配置绕过了rails/passenger,因此无法生成正确的资产路径
我需要application.css和一个图像文件。如果是旧的就好了
我能想到一些乱七八糟的东西,但它们都是蹩脚的:
在每次部署时,将我需要的资产符号链接到我在维护文件中使用的通用名称
使我的维护页面动态,生成它,并将标记转储到某个地方-然后修改我的维护“部署”脚本
1 2 3 4 5 6 ...
下一页 最后一页 共 11 页