Tag: ruby on rails 3

ActiveResource +缓存

我正在构建一个应用程序,它通过带有ActiveResource的api来使用模型。 我注意到了 @resource ||= @resource.do a query 不起作用,即如果我在我的控制器中放了类似的东西,我的应用程序仍然会查询api。 因此,我没有使用ActiveRecord的内置缓存。 是时候扩大我的知识和技能基础了。 我找到了这个: http : http : //injectisforwizards.com/blog/read-through-caching-of-activeresource/ ,虽然我还不理解这个100%,但是对于那些执行.find的基于控制器的查询,这似乎有效。 但不是我有任何自定义查询,例如: @current_resource ||= Resource.get(:resource_all, :by_account=>@current_account.account_key) (命中自定义控制器并运行范围,返回集合) 我正在研究这个问题,我会发现发生了什么,但我很好奇是否有人可以告诉我更简单的术语是什么,我可以做些什么来平滑ActiveResource中的缓存更像ActiveRecord,如何我可以定制这个以缓存所有查询等。任何事情都会有所帮助。 编辑: 我发现了这个: https : //github.com/Ahsizara/cached_resource看起来很有前景,但它是新的(并在上面建立了链接)….值得注意的是它似乎没有处理任何类型的集合,但是一个资源很好地查找/缓存。

在Ruby on Rails中复制父记录和关联子记录的最佳方法?

可能重复: ActiveRecord:如何克隆嵌套关联? 我有一张带invoices的桌子,而这些invoices又可以有很多items 。 现在,在我的invoices索引视图中,我想在每张invoice旁边放置一个链接,说明重复发票 。 如果没有子记录,这将非常简单: 但如果发票的items应该重复,怎么办呢? 作为一个Rails新手,我无法理解这一点。 所有这些都可以通过我的控制器内的new动作来处理吗? def new @invoice = current_user.invoices.build(:project_id => params[:project_id]) @title = “New invoice” end 或者我是否需要在控制器内创建另一个名为copy函数? 什么是最佳做法? 谢谢你的任何意见……

RSpec:ActionView :: Template :: Error:nil的未定义方法`full_name’:NilClass

启动规范测试时,我收到此错误。 我知道没有设置与用户的连接。 我该怎么办才能通过考试? RSpec文件:posts_controller_spec.rb require ‘spec_helper’ include Devise::TestHelpers describe PostsController do render_views context “Logged in as user” do let(:user) { FactoryGirl.create(:user) } before { login_as(user) } context “on viewing index page” do let!(:p) { FactoryGirl.create(:post) } before { get :index } it { should respond_with(:success) } it { assigns(:posts).should == [p] } end end end […]

载波图像未加载到源代码中

不知道我在这个问题上做错了什么。 我已经按照Rails Cast for Carrierwave进行了操作,但是我遇到了一个奇怪的错误,图像根本没有显示 – (HTML)源代码显示的是图像标记,但内部没有任何内容。 组合模型代码: class Portfolio < ActiveRecord::Base validates :title, :content, presence: true mount_uploader :feature_image, FeatureImageUploader end function图像上传代码: class FeatureImageUploader < CarrierWave::Uploader::Base storage :file def store_dir "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}" end def extension_white_list %w(jpg jpeg gif png) end end Show.html.haml代码: = @portfolio.title =image_tag @portfolio.feature_image_url.to_s =markdown(@portfolio.content).html_safe 我的表格代码: .field = f.label :title %br = f.text_field :title […]

无法使用Gemfile运行/安装Gems

当我给bundle install或bundle exec时,我收到此错误 无法在Gemfile中列出的任何gem源中找到gem’metants_as_ferret-0.4.4.gem(> = 0)ruby’。 显然,Gemfile中的第一个gem是acts_as_ferret-0.4.4,source是 来源’http://rubygems.org’ 我尝试了其他来源,但仍然没有工作!

如何解决bundle install rake error和Gem :: RemoteFetcher :: FetchError

当我在ruby 2.1.2上运行bundle install ,我得到: Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/gems/rake-10.4.2.gem) An error occurred while installing rake (10.4.2), and Bundler cannot continue. Make sure that `gem install rake -v ‘10.4.2’` succeeds before bundling. 当我运行gem install rake我得到: ERROR: Could not find a valid gem ‘bundle’ (>= 0), here is why: […]

电子邮件确认中的Rails路由错误

我是rails的新手,我正在尝试在注册时添加电子邮件确认。 我目前收到此错误。 ( 任何冗长且易于理解的答案的奖励积分 。) 路由错误 没有路由匹配{:action =>“edit”,:controller =>“email_activations”,:id => false} 配置/ routes.rb中 LootApp::Application.routes.draw do get “password_resets/new” get “sessions/new” resources :users resources :sessions resources :password_resets resources :email_activations root to: ‘static_pages#home’ 应用程序/邮寄者/ user_mailer.rb class UserMailer user.email, :subject => “registered”, :from => “alain@private.com”) end end 应用程序/控制器/ email_activations_controller.rb class EmailActivationsController “Email has been verified.” end end 应用程序/视图/ user_mailer文件/ […]

Rails Geocoder“未定义的方法错误”

这是Ruby上的另一个真正的新手,所以请温柔……我正在使用alexreisner的Geocoder on rails 3.0,我无法调用Geocoder :: Results lib中的方法。 我仔细阅读了Geocoder文档,但我无法完成一件简单的事情:从用户提交的地址中取出“状态”结果。 因此,将“加利福尼亚州旧金山的123 Fake Street”变成“CA”或“California”。 (我的程序目前只会使用“状态”信息来帮助确定结果,但我希望在以后更改应用程序时使用完整的地址信息,这就是我要求提供完整地址的原因。 ) 我已经通过我从这里找到的文档和其他答案中收集到的最好的东西建立了我的模型,但是之前的答案与此主题相似并没有帮助我: class Project < ActiveRecord::Base attr_accessible :title, :address, :latitude, :longitude belongs_to :user geocoded_by :address after_validation :fetch_coordinates reverse_geocoded_by :latitude, :longitude do |obj, geo| obj.state = geo.state obj.country_code = geo.country_code obj.address = [geo.state, geo.country_code].join(",") end after_validation :reverse_geocode end 但这会为状态,国家代码和地址提供“未定义的错误方法”。 我不明白,因为Geocoder gem的文档清楚地提供了这些方法。 我的模型似乎根本无法访问它们。 (为了记录,我的模型能够从输入的地址中提取纬度和经度,所以看起来Geocoder配置正确。而且“geocoded_by”方法效果很好。此外,它已正确设置为Google API)。 […]

使用mongomapper在rails app中执行查询

在我的rails应用程序中,我正在编写mongo db查询到应该执行AND操作的集合(例如:基本上我想要收集所有用户详细信息,其中city = delhi和gender = male) 。我陷入了这个,我指的是这个链接。 http://mongomapper.com/documentation/plugins/querying.html 。 即使我在2列 – Rails 3.1.rc4上遵循以下链接MongoMapper OR子句 。 但没有什么工作,我是新来的我不知道这是正确的方法,否则有任何方法,请帮助我在这。 我正在使用rails 3.1和mongo_mapper ORM。 查询详情: @c=Customer.where(:$and => [:gender => “Male”,:city => “DELHI/NCR”]) Output: #”Male”, :city=>”DELHI/NCR”}], transformer: #> 我试过这个也没什么用 @c=Customer.where(:$and => [{:gender => “Male”},{:city => “DELHI/NCR”}])

Ruby on Rails中Rack和Rails Metal之间的确切区别是什么?

我是Rack and Rails金属的新手,谁能告诉我哪种情况必须使用哪个? 根据我的理解,Rack和Metal都可以过滤/绕过http请求和响应。 需要更好的澄清,何时使用什么? 提前致谢!!!