我将Rails3教程中的“示例应用程序”更新为Rails3.1。一切都进行得很顺利,除了当我使用该网站时,一个登录用户试图跟踪/取消跟踪另一个用户时,我从日志中得到以下消息:
Started POST "/relationships" for 127.0.0.1 at 2011-09-29 20:06:30 -0400
Processing by RelationshipsController#create as JS
Parameters: {"utf8"=>"✓", "auth
我的控制器里有这个:
@artists = Artist.where("artist LIKE ?", "%#{params[:term]}%").limit(500).paginate(params[:page])
我得到了无法复制NilClass错误
现在,params[:term]和params[:page]是两个不同的变量,为什么会出现错误?如果删除第二个params变量,错误就消失了
即使我这样做,它仍然会出现:
page = params[:page]
<%= will_
是否可以将SWF文件移动到资产管道中,如果可能,如何执行此操作?我建议将它们放在名为app/assets/flash的文件夹中
将此文件夹添加到资源路径:
config.assets.paths << Rails.root.join('app', 'assets', 'flash')
asset_path helper将确保在开发和生产模式中引用正确的文件。Great Great不知道您可以这样扩展资产路径,thx!为了便于参考,您添加了这个config.assets.path,但
在将Rails应用程序更新到v3.1时,我正在设置资产管道。我在/app/assets/stylesheets/layout.css.scss中有以下内容:
#ajaxing {
background:#666 image-url('spinner-16x16.gif') no-repeat center;
}
我使用的是SASS图像url方法,但是当我加载我的站点时,在/assets/application.css样式表中生成了以下内容:
/* line 326, ~/app/asse
升级到新FactoryGirl后,我更新了继承的工厂的语法。现在,我在我的工厂没有定义或者它是双重定义之间跳转。我在网上找到的所有答案都使用了较旧的版本/语法,而且没有一个建议的解决方案真正允许我调用我的工厂。我为文件长度道歉,我真的很感谢你抽出时间!这就是我在与之搏斗了一段时间后现在所拥有的:
spec\u helper.rb
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAIL
我有一个ActionMailer,它有一个接受数组的方法,它为数组中的每个项目发送一封电子邮件。我想在测试中检查ActionMailer::Base.deliveries,看看是否发送了正确的电子邮件。首先,我检查发送的电子邮件数量:
ActionMailer::Base.deliveries.size.should be == my_array.size
是的,断言按预期传递
但是ActionMailer::Base.deliveries似乎已经发送了最后一封电子邮件的所有克隆。手动测试让我
我正在使用emberjs和active_model_序列化程序构建一个应用程序
我搜索了很多关于如何使用emberjs和rails实现身份验证/授权的信息,但是没有找到
有人这样做过吗?我目前正在研究这类主题:我正在使用Desive,并尝试了两种解决方案:
或者使用auth导航,将整个过程委托给Desive的标准控制器和视图
或者,您可以包装Desive的控制器,将JSON返回到纯单个
页面应用程序
我两个都试过了,效果都很好。不方便使用#1的是“老式”身份验证导航闪烁。我喜欢解决方案2
下面是
我是rails领域的新来者,显然我做错了什么,但这是我无法得到的-
每个控制器都有一个咖啡文件。这很好——但假设我想在我的一个控制器中的某个特定页面(假设调用了chapters控制器中的index page)时触发警报——因此在我编写的chapters.js.coffee文件中
$->
警报(“你好,世界”)
现在的问题是,此警报将出现在网站的每个页面上
请让我知道如何解决这个简单的问题——我读过《咖啡脚本》这本书,它教会了我很多复杂的东西——但我在这个小裂缝上被击败了
谢谢,的副本。另见,谢谢
我正在使用mongo db,在调用_json方法时遇到了一个奇怪的问题。
假设我有一个模型站。现在,当我转到Station.first时,我可以看到_type属性,甚至当使用Station.first.to_json(:only=>[:_type])转换为json时,我也可以看到该属性。
但问题只是简单地执行'Station.first.to_json'只排除了_-type属性,但精细地显示了其他属性。你们能帮我一下吗
我正在使用rails 3.1.1和mongoid 2.3.3使用站点。首先,
我已将链接链接到“我的帐户”,编辑用户路径(当前用户)在浏览器中工作,但是Rspec给了我以下错误
1) Can edit user details
Failure/Error: current_path.should eq(edit_user_path(@user))
ActionController::RoutingError:
No route matches {:action=>"edit", :controller=>"users",
在我的Rails 3.1产品安装中,我遇到了以下错误:
ActionView::Template::Error(jquery.case\u by\u email.js未预编译)
然而,当我去
public/assets文件夹我可以看到文件:
-rw-r--r--1个用户用户1225年9月16日12:56 jquery.case_by_email-acb70cf78973ab24fe65ae3d01a2d1ba.js
-rw-r--r--1用户用户615 Sep 16 12:56 jquery.
我已选择:
<%= f.collection_select(:supplier_id, Supplier.all, :id, :name, options ={:prompt => "Select supplier"}) %>
“选择供应商”})%>
如何让单词名和姓氏代替名字?
谢谢假设您的模型具有:name和:names属性,最简单的方法是向其添加一个方法,例如:full\u name,如下所示:
class Supplier < ActiveRecord::Ba
我正在尝试一些不同的设计
重载designe会话控制器
class SessionsController < Devise::SessionsController
def new
super
end
def create
resource = warden.authenticate!(:scope => resource_name, :recall => :failure)
return sign_in_and_redirect(resou
我按如下方式绘制数据,但似乎无法显示轴标签:
!function ($) {
var options = {
xaxis: {
mode: "time",
min: start_time,
// max: (new Date()).getTime(),
tickSize: [4, "hour"],
所以我对部署到Ubuntu服务器(12.04)还不熟悉。我已经安装了nginx和unicorn。除了我不知道如何将它指向我的应用程序之外,一切似乎都在运行。目前我指向“主页/管理员/应用程序/我的网站/当前/公共”,但我的所有文件都位于“主页/管理员/应用程序/我的网站/应用程序/视图/”中。我目前只指向静态文件,如错误htmls和默认的rails index.html。如何让nginx指向我的视图/应用程序
谢谢。如果您使用的是Nginx+Unicorn,那么您不需要将Nginx指向任何路径,
我在Rails的save方法上遇到了问题;它似乎在该失败的时候失败了,但在该成功的时候却没有成功
我有一个索赔模型,可以与任何状态一起保存,但如果要提交(状态_id==5),则必须接受条款和条件
validates :terms_and_conditions, :acceptance => {:accept => true, :if => :submitted?}
def submitted? # simplified for this example
status_id
我正在开发Rails 3.1应用程序,我不知道我应该把自己的javascript代码(例如my.js)放在哪里,以及把第三方javascript库(例如jQuery UI)放在哪里
我知道在旧版本的Rails中,javascript应该全部进入public/javascripts/目录,当我生成Rails 3.1应用程序时,没有public/javascripts/文件夹,但是有app/assets/和verndor/assets/和app/assets中有application.js,我想问:
我有:
但是我怎样才能把这个人和这个控制器的电话绑定在一起呢
我的意思是在people\u phones表中创建一个记录(如果它不存在)
创造
Blog.build – not possible
user.blogs.build(…), user.save – both are required to save to DB
谢谢。我从未见过这个“
class Request < ActiveRecord::Base
belongs_to :person
belongs_to :p
控制器:
@users=User.all
查看:
<%= @users %>
<%= @users %>
结果[#,#]
如何在不将其添加到模型的情况下向用户类再添加一对?
类似于:
控制器:
@users.each do |user| <br>
@type = Types.find(:last, :conditions => ["user_id_addressedto = #{user.id}"])
user << @ty
我正在使用Feedzirra更新RSS源。我目前正在为像这样的个人条目获取缩略图
Feedzirra::Feed.add_common_feed_entry_element("media:thumbnail",:value => :url, :as => :thumbnail)
feed = Feedzirra::Feed.fetch_and_parse("http://somefeed")
entry = feed.entries.first.thumbnail
这很好,但我还想
我应该使用什么样的插件来处理Rails3.2.2应用程序中的管理?
我的场景是用户应该使用Ldap身份验证登录
(管理员来宾用户)我可以在其中添加用户,然后附加操作(删除更新创建)
通过用户界面。将使用Desive和declarative进行LDAP身份验证
正确的选择是什么?还是看别的东西更好?
谢谢。您可以使用类似或可能是一个很好的解决方案的东西。我知道RailsAdmin将使用Desive和CanCan。希望这有帮助
我有一个功能测试一直失败,我不知道为什么。这是论坛的一部分,测试的目的是确保帖子的作者可以删除自己的帖子
当我手动尝试时,我能够在控制台和浏览器中销毁帖子,但我无法找出哪里出了问题
以下是控制器的销毁操作:
def destroy
@post = Post.find(params[:id])
if @post.player_id == current_player || current_player.admin == true # I can't delete anyone else's
如何使用此命令?我已升级到1.2.4 Bundler,但无法运行Hart'l教程中本节的第一部分。这很简单:
cd首个应用程序/
subl Gemfile这是两个命令
您必须在控制台/终端中键入它
第一个是:
cd thePathOfYourApp
cd=更改目录
然后
subl Gemfile
意味着Gemfile应该用Sublime文本编辑器打开在安装git、rails、ruby和gems之前,我知道我已经有了这些文件。我还下载了Sublime文本和Aptana IDE,但对它们不熟
我在用作搜索框的文本\字段\标记中使用以下选项。我想更改文本字段标记的宽度和高度
<%= text_field_tag(:search, value = nil, options = {:size => "200", :placeholder => "Search Events", :class => "round shadow"})%>
可能是什么问题?为该文本\u字段\u标记指定一个id或类,然后在css中设置宽度和高度。请注意,text\u field\u
我知道这听起来很奇怪,但在我的开发箱上,我不能回到1.8.7,因为用MAMP安装Passenger和Mysql Ruby gem是一个巨大的后遗症,我不想在它工作的时候弄乱它
然而,对于部署,我的托管公司有Ruby 1.8.7,所以我在脚手架创建的新语法中遇到了一些错误。所以问题是,在仍然使用Ruby 1.9.2的情况下,是否可以强制Rails使用Ruby 1.8.7语法
我知道这听起来很愚蠢,可能根本不可能,但我只是想确定一下。我想你的意思是在使用生成器时强制使用Ruby老式语法。好吧,有一个
我将cucumber用于BDD,并将@wip标记用于我想重点关注的特定场景。但当我尝试运行“cumber--wip”时,它会给出一个错误,上面写着“您不能同时使用--strict和--wip(RuntimeError)”,关于如何调试它有什么建议吗
PS:我正在使用cucumber 1.1.4、cucumber rails“1.2.1”、rails“3.1.0”cucumber可能从配置文件中获得了--strict选项。在项目目录或子目录中是否有config文件?如果是这样,您可以向其中添加一行
我正在使用formtastic和Twitter引导。我想自动设置,我的formtastic表单的所有提交按钮都将是“btn大型主”按钮,取消按钮将是“btn大型默认”按钮,而无需手动复制这些样式以进行formtastic按钮样式设置。主要是如果我决定以后更改“主”按钮的外观,这样我就不必在多个地方更改它
最干净的方法是什么?您可以在应用程序助手或该模型的助手中创建一个变量
@submit_button_css_classes = "btn large primary"
@cancel_butto
我需要一些建议
在我的控制器中,我有一个错误:
“通过调用访问的\u不能与块“can”定义一起使用。无法确定SQL…”
组控制器代码:
@groups = @q.result.order('name').accessible_by(current_ability,:read).page(params[:page]).per(20)
在ability.rb文件中:
can :read, Group do |group|
group.try(:group_type) == 1 ||
有没有人在这种环境下运行黄瓜测试也有困难
错误
功能/支持/env.rb
我不知道该怎么办。我遇到了同样的问题,我所有的“步骤”都通过了,但我的方案失败了,因为ActiveRecord与数据库清理器混淆了
Scenario: User is not signed up # features/users/sign_in.feature:6
Given I am not logged in
我可以用Ruby 1.9.2在OSX和Windows上重现这个问题:
我有一个简单的Rails 3.2.3应用程序,正在尝试预编译assetpipeline,但是assets:precompile什么都不做。也不抱怨
以下是我所做的:
使用RVM,创建一个新的干净的gemset,称之为rails32
安装导轨:gem安装导轨-v3.2.3
创建虚拟脚手架:rails g scaffold测试名称:string
迁移prod db:rake db:Migrate RAILS\u ENV=produ
rails 3.2应用程序需要RMagick gem
从支持票上,他们说这是私人PaaS
但是对于cloudfoundry.com本身托管的应用程序,而不是在私有PaaS中托管的应用程序,该怎么办呢?文档称cloudfoundry.com不支持该应用程序:文档称cloudfoundry.com不支持该应用程序:,正如Glenn在评论中所说,RMagick依赖于本机库ImageMagick,Cloud Foundry工程团队目前正致力于将其集成到实时环境中。正如Glenn在评论中所说,RMagic
我找不到它
只能在中找到它的一部分
去哪里看?Rake任务本身在sprokets railsgem中定义。在rails 3.2.6中,您可以通过gem contents actionpack | grep Rake找到它,谢谢您的提示。这对我很有帮助:)为什么不告诉我们grep的结果,它实际上是在哪里定义的,而不是让所有读者下载源代码并自己运行它呢?它是在Rails 3.2->为回答者干杯,为我指明了actionpack的方向。
在Rails3.1之前,我曾经构建干净的语义标记。Compass还没有为Rails 3.1做好准备,不知何故,它感觉太重了,与新的资产管道相适应。在Rails项目中实现漂亮、干净的语义标记还有哪些其他选择?我找不到好的解决方案,所以我创建了一个:
我在一个实时服务器上有一个Rails 3.1.0应用程序,当它在开发模式下启动时,可以很好地为所有图像和favicon.ico服务
但是,当在生产环境中启动同一个应用程序时,公用文件夹中的favicon图像/其他图像将不提供服务,它们的路径将抛出404错误(有趣的是,404页面的静态图像也不提供服务)。有什么线索吗
我正在使用NginX+Unicorn+Rails 3.1.0。资产管道用于除404/500错误页面和favicon之外的所有内容。您是否尝试将所有图像移动到应用程序/资产/图像?这就
大家好,我在嵌套模型和表单上遵循了Ryan Bates的railscasts,但我得到了nil:nilclass的未定义方法“klass”。我很确定这是由于链接到添加字段的原因,因为之前一切都正常。下面是我的错误和其他相关代码,我使用的是Rails 3.1。我在谷歌上搜索了很多次,没有找到任何可以解决我问题的方法,所以如果你们能帮我解决问题,我会非常感激。谢谢你的帮助
\u form.html.erb
<%= form_for(@organization) do |f| %>
&
我在railstutorial.org上浏览了很多章节,一直在使用Rails3.1.3,因为我疯了,或者我想挑战一下。我设法很容易地解决了大多数版本问题,但这个问题让我有一段时间感到困惑
在10.4.2中,Michael Hartl使用以下代码删除用户:
<%= link_to "delete", user, :method => :delete, :confirm => "You sure?",
:title =>
读到这里,我发现我可以使用simple_format text helper发送一个文本字符串来保持html换行符。伟大的但我发现,由于它假定了一个标记,因此它会与Blueprint CSS中的CSS类发生冲突。好的,阅读API我发现:
简单_格式(文本,html_选项={},选项={})
简单的_格式(“我被允许!这是真的。”,{},:sanitize=>
(错误)
=>“我被允许!这是真的。”
我找不到其他使用html_选项的示例。这里有两次尝试让它工作,但都失败了,要么是语法错误,要么是应
尝试在Rails中使用GroupMeGemEM-C2DM,这是一个使用事件机的GoogleC2DMRuby库。我知道它应该在Heroku上运行,因为有一个特定于Heroku的配置,但是我似乎无法让它运行
我通过一个Resque Worker执行,该Worker工作正常,并被排队和调用。但是,它始终无法通过身份验证,并且从不报告推送通知的响应。它似乎永远不会结束
module PushAndroid
require "eventmachine"
require "em-c2dm"
我有两封邮件:
class Mailer1 < ActionMailer::Base
def mail
if check_something?
end
end
private
def check_something?
end
end
class Mailer2 < ActionMailer::Base
def another_mail
if check_something?
end
end
private
在Rails3.1资产管道中使用jQuery插件时,我看到了许多问题和不同的答案,这让我相信这是一个足够新的问题,还没有解决。我曾尝试在管道中使用jQuery插件,但在合并插件样式表时遇到了问题
现在我试图退出这个解决方案,只将jQuery插件及其相关主题和样式表放在“public”下的传统位置。这是一种混合溶液。然后我把标签放回布局文件中,直接引用它们
当然,现在我的问题是Rails只知道使用资产管道,它在“/资产”中寻找它们。他们已经不在了
有没有正确的方法?我根本不想修改这些插件,所以不需
我在rails 3.1中使用了remotipart,它在所有类型的表单上都工作得非常好。但在我的场景中有一个问题
我正在做的是,我有一个远程链接,该链接请求新建操作,该操作在qTip2模式提示中显示表单,在该表单上我有一个文件归档
我绑定了ajax:beforeSend.rails事件,该事件隐藏了工具提示,因此现在的情况是,如果我隐藏工具提示远程调用不起作用,如果我不隐藏工具提示,它工作得非常好
我发现当工具提示被隐藏时,意味着表单有一个显示:none远程ajax调用不起作用。是这样吗?如何处
如果我不能正确处理视图,生产环境将显示500
这可能是
但我有点粗心,好几次忘记了这个问题
我怎样才能防止这种情况?如何在生产环境中使用而不引发500?图像\u标记必须有一个源,Rails对此无能为力,但引发异常
您可以编写如下帮助器:
module ApplicationHelper
def safe_image_tag(source, options = {})
source ||= "default.jpg"
image_tag(source, options)
我有三种型号
Mailing
has_many :trackers, :as => :trackable
has_many :links
Link
belongs_to :mailing
has_many :trackers, :as => :trackable
Tracker
belongs_to :trackable, :polymorphic => true
“跟踪器”表有以下列
可跟踪\标识可跟踪\类型
假设我有一个id为1的邮件对象
我想获
在rails 3.1应用程序中试用mongomapper时,我决定也考虑使用formtastic。这很可能是由于我自己的无能,但我有一个奇怪的错误,我无法追根究底
参数数目错误(1代表0)
这是由下表中的form.inputs行引起的
<%= semantic_form_for @product do |form| %>
<%= form.inputs :name %>
<%= form.buttons %>
<% end %>
最初
我已经安装了客户端验证
我有rails 3.1+Mongoid,表单中没有显示文本错误消息
我遵循中rails 3.1的说明
我只能在表格中看到标签上的红色。您可以在此图像中看到:
有什么问题吗?
谢谢您需要取消对config/initializers/client_side_validations.rb中代码的注释,以便显示错误消息
默认情况下,它被注释掉,因为这是Rails的默认行为。我正在为4.0版的gem讨论更改此选项,因为这意味着如果您正在安装gem,您也需要错误消息。您需要取消c
我目前正在我的应用程序中使用以下gems来提供分页、搜索、可链接标记和标记云
gem“将分页”,“~>3.0.2”
gem'在'~>2.1.0'上充当标记
到目前为止,我已经在Rails3.1中实现了除了标记链接之外的所有内容。我把它们显示在每篇文章下面和标签云中,它们都链接到不同的视图,但都不起作用
标签云中的一个链接(Test1)将我链接到:/posts/tag?id=Test1,这给了我一个错误“找不到id=tag的帖子”
帖子中的一个链接将我重定向到/posts?tag=Test2&vi
我使用rspec2进行验收测试
我有一个禁用的文本框,它有一个文本
现在,检查特定禁用的文本框是否具有特定值的正确断言语句是什么
我的禁用文本框有一个值“天堂”
有内容(“天堂”)在页面中找不到文本天堂
谢谢如果我没弄错的话,内容是水豚呼叫,不是RSpec。(Watir webdriver示例)
@browser.text_field(:name => 'my_input').text.should include 'heaven'
我尝试在运行Rails 3.1的应用程序中使用datepicker函数。如果我在application.js文件中使用以下内容,我就可以正常工作:
$(function(){
$("#exam_deadline").datepicker();
});
现在我有了一个嵌套的资源,并尝试了很多方法让它也能工作,但没有成功。通过一些研究,我发现一个可能的解决方案是:
$(function(){
$('.datePicker').datePicker();
});
但是如果
我有这两种方法,我想结合成一个。但就我个人而言,我不知道该怎么做。没什么大不了的。谢谢你的帮助
def is_active_no_category
'active' if params[:category].blank?
end
def is_active(category)
'active' if params[:category] == category.name.parameterize
end
下面的函数将类别作为参数传递是可选的。如果不传
我有一个应用程序,每个客户都有一个子域。他们可以改变外观和感觉,这一切都是基于推特引导。当他们保存自己的设置时,应用程序会为他们创建一个.less样式表,其中相应的Twitter引导变量已设置为他们喜欢的
我在application.html.erb文件中根据访问的子域选择适当的样式表。我知道这在生产中是行不通的
我想在保存时调用一些东西来编译它。有什么想法吗?听起来您需要能够在运行时根据需要触发这些文件的链轮编译。我没有这方面的经验,但这家伙:
听起来您需要能够在运行时根据需要触发这些文件的链
1 2 3 4 5 6 ...
下一页 最后一页 共 10 页