我有一个简单的模型
class User
has_many :logs
class Logs
通过外键logs.user\u id以通常的方式进行关联。我正在尝试使用Arel执行以下操作,根据Arel文档,它应该可以工作
u_t = Arel::Table::new :users
l_t = Arel::Table::new :logs
counts = l_t.
group(l_t[:user_id]).
project(
l_t[:user_i
从sass-3.1.7升级到sass-3.1.8后,我发现以下错误:
Functions may only be defined at the root of a document.
你知道我怎么解决这个问题吗
我使用了一些的mixin,它被导入到我的样式表顶部,仅此而已。我也有同样的问题,无法通过修改代码来解决
我解决问题的方法是使用旧版本:
gem uninstall sass
gem install sass -v 3.1.1
好的,下面是我的想法:
SASS团队决定进行更改(在本例
当我包含一个包含有效utf-8字符的文件时,会引发一个Sprocket::EncodingError异常
这条线是:
* Copyright (c) 2010 - 2011 Johan Säll Larsson
如果我替换ä字符,问题就会消失,但我不想每次更新供应商文件时都记得编辑它
如何解决此问题?我通过以下评论找到了解决方案:
我只是将文件保存为utf-8(当您选择“另存为”时,TextMate可以选择这样做),问题就消失了
创建commenter@shedd也是为了查找未正确编码的资产。
我正在尝试编写一个控制器规范,用于创建带有采购行项目的采购。采购创建得很好,具有我赋予它的所有属性,但未创建采购行项目。这是我的密码:
工厂。rb
PurchaseLineItem.rb
Purchase.rb
采购控制员
采购控制器规格
require 'spec_helper'
describe PurchasesController do
login_user
describe "POST create" do
before(:each) do
@abil
我的应用程序控制器如下所示:
class ApplicationController < ActionController::Base
protect_from_forgery
before_filter :check_csrf
def check_csrf
if not verified_request?
redirect_to root_url, :error => "forgery protection"
return
end
在Rubyonrails应用程序中,我只希望登录的用户进入内部页面?
如何将直接输入的URL重定向到索引页
在php if(!isset($_SESSION[id]){header(“location:index.php”)}中,如何在RubyonRails中实现这一点
在应用程序_controller.rb中:
将此代码放入应用程序\控制器将使所有控制器都可以使用它
class ApplicationController < ActionController::Base
protec
我似乎在Rails 3.1中要求嵌套资源,而不是仅仅嵌套照片:
resources :photos
resources :gallery do
resources :photos
end
否则,我的表单不适用于要提交的照片或要查看的图库:
<%= form_for ([@gallery, @photo],:html => {:multipart => true}) do|f| %>
{:multipart=>true})do | f |%>
画廊展览投诉:
No
我只是问自己,什么是解决我问题的最好办法
以下是我的模型:
class Product < ActiveRecord::Base
has_many :prices, :class_name => "ProductPrice"
accepts_nested_attributes_for :prices
end
class ProductPrice < ActiveRecord::Base
belongs_to :product
end
我想做的是,当product
尝试上载图像时,出现以下错误:
CmsAdmin::filecontroller#create undefined方法中的NoMethodError
`“零匹配:零类”
有什么解决办法吗?可能是因为某种原因,它在回形针内爆炸了。您安装了什么版本?(检查Gemfile.lock)该控制器中没有match方法。堆栈后跟踪。
我的应用程序已经有了登录(OAuth)功能,我现在要做的是下拉已验证用户的活动列表(例如状态提要)
用户可以选择在他们经过身份验证后下拉此列表,这是我的代码,到目前为止:
# User Model
def gplus
auth = authorizations.find_by_provider("gplus")
client = Google::APIClient.new(application_name: "AppName", application_version: '1
从Railscast#273 at复制地理编码示例
在Rails 3.1rc4下,使用:
multi_json (1.0.3)
nifty-generators (0.4.6)
我明白了
NameError in LocationsController#create
uninitialized constant JSON::ParserError
Rails.root: ...
Application Trace | Framework Trace | Full Trace
我希望Rails 3.1能够获取更多的资源用于预编译。特别是,编译文件的默认匹配器不会添加来自供应商/assets/javascripts的.js文件。我可以将资产添加到config.assets.precompile列表中,但这似乎很烦人。我不想在application.jsmanifest中引用它们,因为我不希望它们包含在所有页面中
总之,请求在供应商/assets/javascripts中找到的所有.js文件由rake assets:precompile预编译的任何方式,但是没有将它们包含
我试图允许管理员用户删除此应用程序中的其他用户,但单击删除链接将重定向到所选用户的页面
用户_controller.rb
class UsersController < ApplicationController
before_filter :authenticate, :only => [:index, :edit, :update, :destroy]
before_filter :correct_user, :only => [:edit,
我正在Rails 3.1后端上构建一个backbone.js应用程序。我正在使用CoffeeScript编写主干类,并使用Jasmine(通过Jasmine headless webkit)进行测试
给定以下(部分)树:
。。。我希望avia\u view\u spec.js.coffee了解avia.AviaView,它在avia\u view.js.coffee中定义
但是,通过运行bundle exec jasmine headless webkit,我得到了以下输出:
Running J
我的文章有图片。我将图像放在app/assests/images中,并将它们的位置存储在数据库的一个字段中
然后,我可以使用以下命令在中显示它们:
<%= image_tag(@article.image) %>
但是当我移动到生产服务器时,我的所有图像都不会显示!服务器正在查找资产/blank-d5dd6e3683b4753dfde3c70cf61f99b6.png而不是blank.png,因此不可用
如何排序?这是Rails 3.1发布时遇到的问题
正常资产
如果您的资产由
我正在尝试重命名zip中的文件和目录。我试过三种不同的方法,都不管用。正确的命令是什么
以下是我的代码摘录:
require 'zip/zip'
...
def renaming_zip(zip_file)
Zip::ZipFile.open(zip_file).each do |entry|
if entry.name == "mimetype"
puts "#{entry.name} is a file ? #{File.file? entry.name}
我想做的是在父类中有一个模板,在默认模板中加载一个分部。但该部分内容应特定于派生类
def类数据项
我已经设置了Desive和OMNIAUTH登录。它与Facebook合作。现在我正试图为LinkedIn设置类似的功能。下面是我所做的。但是,我收到了以下错误消息-“无法从Linkedin验证您的身份,因为“凭据无效”。“请有人帮忙好吗?”
先谢谢你。如果你需要更多的细节,请告诉我
宝石档案
gem 'omniauth'
gem 'omniauth-linkedin'
gem 'devise', :git => 'git://github.com/plataformatec/devise.
我是一个新的联想者。有人告诉我在哪里使用多态联想及其应用吗
目的
类图片true
结束
类Employee:可成像
结束
类产品:可成像
结束
提前感谢。当父对象或子对象类未知时,将使用多态关联
乙二醇
这里,C可以属于A或B
有关更多信息,请参阅
A has_many :cs, :as => resource, :dependent => :destroy
B has_many :cs, :as => resource, :dependent => :destroy
我很难让最佳位置完全发挥作用。问题是,一旦我编辑了一个字段,为了能够再次单击并编辑该字段,我需要刷新页面。我可能错了,但我有一种感觉,这与respond\u with_bip抛出未定义方法错误有关。我认为这与没有将最好的资产放在正确的位置有关。目前我有以下更新“常量”的方法。但当它点击respond\u with_bip时,它再次抛出一个错误:
显示:
<%= best_in_place constant, :description %>
def update
@constan
如果安装RubyonRails3.1,默认情况下会安装gem。我排除了它,因为我认为它需要execjs,但execjs无论如何都要安装。
execjs现在是Ruby on Rails应用程序的一项要求,还是有办法将此gem从安装中排除?如果您从gem文件中注释掉与资产管道相关的所有gem,那么将不会安装execjs(这在生产中应该可以正常工作)
好的,我可以回答我自己的问题:execjs似乎是uglifier和coffee脚本的一个要求。我仍然想知道如何在没有execjs的情况下安装。如果你不想
从这个角度来看,似乎可以在Ruby中使用Sass帮助程序(asset\u path,asset\u url,image\u path等),但我不知道如何使用
我需要为回形针附件设置默认\u url,并希望使用资产管道中的一个资产来实现此目的。您可以在SCSS文件中使用sass帮助程序,但不能在其他地方使用它们。在这些情况下,您需要使用常规资源路径和图像标记帮助器 是的,不幸的是,那些助手在模型中不起作用。最后,我将默认的\u url定义为回形针\u处理\u图像/…,然后在使用图像的视图和帮助程序
以下是我的模型和控制器:
class FaqCategory < ActiveRecord::Base
has_many :faqs, dependent: :restrict, inverse_of: :faq_category
validates :title, :presence=>true, uniqueness: {scope: :ancestry}
end
class Faq < ActiveRecord::Base
belongs_to :fa
我正在为一些Javascript类(backbone.js视图,用Coffeescript编写)编写规范,我希望确保一个视图构造另一个视图
我试图通过监视构造函数来实现这一点,如下所示:
describe 'Avia.AviaView', ->
beforeEach ->
@aviaView = new Avia.AviaView()
@matricesView = new Backbone.View()
spyOn(Avia.MatricesView,
经过审查,这个问题已被提出,次。但我仍然不明白为什么rake资产:预编译失败了
我可以使用本地服务器(如瘦服务器)从浏览器查看以下结果:
(注意:图像路径似乎根本不起作用,我正在使用thoughtbot bourbon作为SCSS库)
然而,每次运行precompile时,我都会得到以下(短跟踪):
这表明我更改了production.rb文件,它编译了我的图像,rake现在抱怨我有一个未定义的mixin“border-radius”。也许这是下一个例外,但我不太确定。一切都在本地运行
Rail
使用Rails 3.1.3。我使用railscast 270中介绍的密码验证方法调用has_secure_password:
class User < ActiveRecord::Base
has_secure_password
end
请注意,我正在尝试将railstutorial.org中的示例转换为非常好的示例,因此我不得不进行一些更改,我的应用程序中可能存在一些冲突。例如,我以前有一句话:
attr_accessor :password
这就阻止了password=的声明在
我想使用Mercury编辑器(https://github.com/jejacks0n/mercury)在我的RoR应用程序的博客区域中编辑帖子。我没有任何页面模型,我只想编辑文章,而不是网站的所有页面
在my routes.rb中:
resources :posts do
member { post :mercury_update }
end
在my posts_controller.rb中:
def mercury_update
post = Post.find(param
我正在寻找能够在Ruby中修改.docx文件的东西。在这里,在这段代码中,我对xml文件进行了修改
只修改一次元素,但要将所有元素“FirstName”替换为“DEMONAME”
请建议对整个文档进行5次或更多次的修改FirstName最后我找到了解决此问题的方法
doc = Nokogiri::XML(IO.read('word/document.xml'))
(doc/'//text()[.="FirstName"]').each do |field|
doc.at('//text()[
分叉为pdf并添加到Gemfile
gem 'wicked_pdf', '= 0.7.2', :git => 'git://github.com/geoffcorey/wicked_pdf.git'
Capistrano部署了吗
bundle install --path vendor/gems --without development
所有gem都显示在vendor/gems/ruby/1.9.1/gems中,但wicked_pdf除外,该pdf将回购文件克隆到vendor/gem
我目前正在为我的应用程序测试Rails 3.1的升级,作为升级的一部分,我的adauth gem升级到了2.0.0(从1.2.1)
我遵循了adauth迁移wiki中提到的配置更改。具体地说,我的用户模型(称为Analyst)现在有:
include Adauth::Rails::ModelBridge
它定义了新的AdauthMappings和AdauthSearchField映射等
我遇到的问题是我的会话(u controller#create中的这一行:
analyst = Analys
我得到一个如下所示的错误:
undefined method `post_image_will_change!' for #<Post:0xf4e9184>
app/controllers/posts_controller.rb:43:in `new'
app/controllers/posts_controller.rb:43:in `create'
在_form.html.erb中,我添加了:
:html => { :multipart => true }
我
当我生成一个新的控制器时,Rails也会为控制器生成一个.js.coffee文件。因为我不使用CoffeeScript,所以我希望Rails为我生成.js文件
在rails 3.1应用程序中完全禁用CofeeScript,注释掉coffee railsgem就足够了吗
注释掉gem文件中的gem“coffee script”
在javascript文件中使用.js而不是.js.coffee
我遇到了这个问题,因为我正在使用codekit编译我的咖啡脚本
我通过将我的“资产/咖啡”文件夹重命名为“
我已经构建了一个部署在heroku上的应用程序,它使用carrierwave来保存所有上传的文件,并且我已经为开发者设置了google存储来保存这些文件
在此之前,一切正常,但我想保持文件显示的隐私,即用户必须有权查看。
在开发环境中,一切都很好
为了对用户隐藏文件源url,我做出了以下决定:
初始化者/carrierwave.rb
CarrierWave.configure do |config|
if Rails.env.production?
config.storage =
我使用以下命令生成了Rails 3.1引擎:
rails plugin new forum --full
然后我将插件复制到现有的rails应用程序中。现在,当我运行以下命令时,它在rails应用程序中生成控制器,而不是在插件目录中
cd vendor/gems/forum
rails g controller Users
我尝试从Rails根目录运行该命令,但仍然存在相同的问题
请帮帮我 您似乎正在主应用程序中编辑Rails引擎。您可以这样做,但是Rails引擎的思想是,该引擎是一个gem
我使用valums file_uploader.js上传文件&我想上传所有类型的文件,如图像、音频、视频等。它在firefox和chrome中工作得非常好。在safari中,除了多个文件外,上传工作正常。但在IE中,一切都不起作用
有一行input.files用于获取文件详细信息。它在IE中给出null或未定义。
我尝试了IE的所有版本,7-9。但是没有用
如何使用javascript在IE中获取文件属性。我试着使用ajax uploader,但我不知道如何使用它
我使用的是Ruby1.9.2、
我的项目是使用rails 2.3.5开发的,现在我们正在考虑将项目迁移到rails 3.2.11
请给我一些关于如何将我们的项目迁移到3.2.11的解决方案,并让我们知道我们需要为此做哪些更改
谢谢,我目前正在做这件事,并决定分步进行
2.3.X -> 3.0.X
3.0.X -> 3.1.X
3.1.X -> 3.2.X
我仍处于第一步,但您可以将第2步和第3步合并到3.0.X->3.2.X
rails\u升级gem在第一步帮助很大
查看有关升级的RailsCasts。他们
是否有一种内置的方法来确定资产是否存在,而无需求助于File.exists?(File.join(Rails.root,“foo”,“bar”,“baz”),并查看资产路径
我的应用程序从远程服务器的Resque队列中获取图像;在我们下载图像之前,我想提供一个占位符图像。目前我正在使用文件。存在。。。但这意味着对路径进行硬编码,这很糟糕,或者查看已配置的资产路径。看起来这个应该已经存在了,但是我在文档中找不到它。在app/assets/images/lolshirts/theme/bg head
我正在试验Rails 3.1,它使用Sprokets 2.0作为“资产管道”,并试图将其设置为在生产中使用CDN托管库,但在开发中使用本地托管文件
即,在开发中:
jquery.js作为application.js
但在生产中:
http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js将被加载
额外问题:有什么理由我不应该这样做吗?没有理由不这样做。谷歌CDN的要点是,当许多不同的网站使用同一个CDN文件时,它很可能已经被浏览
我想知道如何在视图中显示当前的Rails版本。我已经知道这将打印当前的Ruby版本:
<%= RUBY_VERSION %>
但我不知道如何为Rails做到这一点
编辑:我尝试使用列出所有环境变量;不幸的是,Rails版本不是其中之一。您只需执行以下操作:
<%= Rails.version %>
哇,那太简单了!我早该弄明白的。
我在RSpec有好几年的问题,我的模型在Spork运行之间没有重新加载
我最终通过更改config/environments/test.rb中的以下行解决了这个问题:
config.cache_classes = true
ActiveSupport::Dependencies.clear
FactoryGirl.reload
变成
config.cache_classes = false
然而。。。虽然这解决了RSpec的问题,Cucumber要求将cache_类设置为true。
是否
每次我在本地计算机上运行cap:deploy时,打开网页时都会出现下一个错误:
Ruby (Rack) application could not be started
Error message:
git://github.com/ctran/annotate_models.git (at master) is not checked out. Please run `bundle install` (Bundler::GitError)
Exception class:
PhusionPas
这是我的Gemfile:
source 'http://rubygems.org'
gem 'rails', '3.1.2'
#gem 'sqlite3'
gem 'mysql2'
gem "rvm", "~> 1.9.2"
gem 'authlogic'
gem "taps", "~> 0.3.23"
gem "paperclip", "~> 2.4.5"
gem 'aws-s3'
gem 'actionmailer'
gem 'will_paginate'
grou
在我的GEM文件中,我有:
gem 'shoulda'
但是我想用最新的版本。我怎么做 这将使用gem提供的最新版本。如果自您在Gemfile中编写shoulda后发布了新版本,则必须使用bundle update shoulda,以便对其进行更新(根据Gemfile中指定的版本,在您的情况下,这意味着可用的最新版本)
您还可以将其设置为使用git存储库作为源,这样您就可以真正获得最新版本。我建议您阅读gembundler手册,了解更多有关此主题的信息
为什么活动脚手架链接(例如:创建、编辑、显示等)在资产预编译后不工作 这件事也发生在我身上——确实非常令人沮丧。
在Rails 3.2和ActiveScaffold中,预编译资产后,ActiveScaffold生成的所有基于AJAX的表单都“原地”停止工作。
请注意,如果将表单作为“localhost:3000///edit”等直接加载到浏览器中,它们仍然可以正常工作
这与在application.js文件中加载javascript的顺序有关。我们必须确保jquery_ujs在最后。进行更改后,
我有一个Rails 3.1应用程序,我正在尝试使用JMeter进行负载测试。
我们的网站以收集信息为目标,因此用户先注册,然后浏览问答工作流,回答一些问题后,他们会得到一些有用的信息。
我的JMeter测试配置为遍历注册,然后遍历完整的Q&A工作流
环境详情:
RedHat Enterprise 6
Rails 3.1
Ruby 1.9.2p290
DB: Postgres 9
我已经运行了20个和100个并发线程的测试,并以每秒1个线程的爬升时间运行,结果还可以。但是,只要我增加启动时间,使
如果对象的status\u为值是以下两个值之一,则我希望在更新后激活我的hook:
after_update :set_activity_log, :if => :status_was == 'In' or :status_was == 'Out'
我可以让它与#status_changed?一起工作,但是它仍然会触发所有其他可能的状态更改,并且我必须添加逻辑来检查回调方法中的In或Out
我觉得这应该可以在钩子定义中实现,而不是在set\u activity\u log方法中实现。您可
我安装
git://github.com/applicake/doorkeeper-provider-app.git
但如上所示,我无法在提供程序中找到要执行的操作。
感谢您的帮助,Oauth或看门人似乎没有意识到这一点
RackBaseURI/提供程序
所以我试着调整路线
devise_for :users, path: "provider/users"
用于生成路径。它创造了:
new_user_session GET /provider/users/sign_in(.:format
在rails 3.1.1中,我在routes.rb中将admin_root_路径设置为:
namespace :admin do
root :to => "base#index"
resources :users
end
路由到admin/base\u控制器上的索引操作。
但由于我无法控制的原因,我不得不将我的rails 3应用程序降级到v2.3.14。
我试过:
map.namespace :admin do |admin|
admin.resources :users,
我正在创建一个rails应用程序,其中我必须创建一个教程网站,因为我想在我的索引页面上显示课程列表,当用户选择一门课程时,它将重定向到其显示页面,其中包含该课程的不同部分和子部分,在一个部分下可以没有任何子部分**例如**
课程是rubyonrails,下面我们有这样一节
1.Introduction
1.1 What is ruby
1.2 Small program in ruby
1.2.1 Say hello world
1.2.1.1 Welcome user
1.
我想在.sass.erb文件中获取当前子域
我试过如下方法-
$get_子域:
但是获取错误-未定义的方法或变量请求
我还尝试在lib中添加自定义函数,但仍然得到相同的错误。
如何获取sass文件中的当前子域?有人能帮我吗。SASS在应用程序上下文之外编译为CSS,因此没有请求
你有什么问题吗?为什么在SASS中需要子域
您还可以查看SASS和/或Rails的资产url/\主机配置
1 2 3 4 5 6 ...
下一页 最后一页 共 17 页