Tag: ruby on rails 3.2

我可以从安装它的真实应用程序运行Rails引擎的规范吗?

我有一个Rails引擎,旨在为我们的大型项目提供一些模型和控制器。 引擎的规格相当不错,在引擎的虚拟应用程序中使用了一堆模拟和一些全尺寸模型和控制器,以确保引擎正在做它应该做的事情并使用更大的应用程序。 但是,即使所有测试都通过,我也经常在更大的应用程序中更新引擎时发现损坏的行为。 如果我的测试通过但是行为被破坏了,那么测试显然有些问题,但是什么呢? 我嘲笑太多,还是不够? 为了让我更接近解决这个问题,我希望能够在整个应用程序中运行引擎的测试。 这似乎应该是可能的,但我不完全了解rspec如何处理。 (这与这个问题有关但不完全相同;我不是试图从一个命令运行所有规范,只是为了在完整的应用程序环境中运行引擎的规范。 这似乎也是相关的。实际上,我’我读过用rspec和rails-engines标记的每一个问题 – 这些问题并不多 – 而且它们都不是我需要的,或者没有答案。)

Rails控制器在Model.new和Model.create之间创建动作差异

我正在阅读一些Rails 3和4教程并遇到一些我喜欢的一些见解: 关于Create操作,Model.new和Model.create之间有什么区别。 我以为你确实使用控制器中的create方法来保存例如。 @post = Post.create(params[:post])但看起来我错了。 非常感谢任何见解。 使用Post.new创建操作 def new @post = Post.new end def create @post = Post.new(post_params) @post.save redirect_to post_path(@post) end def post_params params.require(:post).permit(:title, :body) end 使用Post.create创建操作 def new @post = Post.new end def create @post = Post.create(post_params) @post.save redirect_to post_path(@post) end def post_params params.require(:post).permit(:title, :body) end 我有两个问题 这与Rails 4的变化有关吗? 使用@post = […]

添加自定义数据属性rails图像标记

我需要在我的rails应用程序中为galleria添加数据描述和数据标题,但我看不到如何使用image标签执行此操作。 到目前为止我有这个: “title”, :class => “class”, :data-description => entry.caption, :data-title => entry.caption %> 但这会引发未定义的局部变量或方法`description’错误,那么我如何在rails 3中执行此操作?

Rake db:test:准备任务删除开发数据库中的数据

在我的config / database.yml中使用Rails 3.2.6应用程序中的简单Rails sqlite3配置示例 ,我曾经重置我的开发数据库,​​重新播种它,并通过执行以下操作来准备我的测试数据库: $ rake db:reset $ rake db:test:prepare 在看了这篇关于在不同的数据库引擎上用Travis CI测试Rails应用程序的博客文章之后,我想我会试一试,所以我使用Homebrew安装了mysql和postgresql(我在OSX Snow Leopard上),设置它们根据brew info说明。 我安装了相关的gem,并按如下方式配置了数据库和Travis文件: 的Gemfile # … group :development, :test do # … gem ‘sqlite3’, ‘1.3.6’ end group :test do # … # Test mysql on Travis CI gem ‘mysql2’, ‘0.3.11’ end group :test, :production do # … # Test postgres […]

不推荐使用value_to_boolean; 什么是好的替代品?

在rails 3.2中是否有一个“酷孩子批准”替代ActiveRecord::ConnectionAdapters::Column.value_to_boolean ?

! 处理请求时出现意外错误:无法分配内存

请帮我解决这个错误。 我在使用ruby脚本将文本文件中的记录加载到数据库时收到此错误。 如果我使用少量记录加载到数据库中它就可以正常工作。但是如果有大量记录则会失败。 CSV.foreach(fileName) do |line| completePath = line[0] num_of_bps = line[1] completePath = cluster_path+ ‘/’ + completePath inode = FileOrFolder.find_by_fullpath(completePath, :select=>”id”) metric_instance = MetricInstance.find(:first, :conditions=>[“file_or_folder_id = ? AND dataset_id = ?”, inode.id, dataset_id]) add_entry(metric_instance.id, num_of_bps, num_of_bp_tests) end def self.add_entry(metaid, num_of_bps, num_of_bp_tests) entry = Bp.new entry.metric_instance_id = metaid entry.num_of_bps = num_of_bps entry.num_of_bp_tests = num_of_bp_tests entry.save […]

添加索引:通过生成迁移,在rails上的ruby中的列是唯一的

我知道我可以触摸迁移并添加 add_index :table_name, :column_name, :unique => true 但正确的rails migration命令如何生成呢? rails g migration add_index_to_column_name :column_name, :unique => true 是对的吗? 在我的特例中,我有一个表客户 t.integer :customerID t.string :surname t.string :first_name t.string :phone 我想将customerID设置为唯一。 试着 rails g migration AddIndexToCustomers :customerID, :unique => true 但是,如果我在此之后查看我的迁移文件,它看起来不正确看到这个: def change add_column :customers, :, :customerID, add_column :customers, :, :unique add_column :customers, :=, :string end 有什么想法或建议吗?

为什么我的Rails可安装引擎无法正确加载辅助方法?

我已经构建了一个可以作为引擎安装的rails gem。 引擎的范围是它自己的命名空间。 在引擎中,有一个MyEngine::ApplicationHelper模块,它添加了一堆视图助手方法。 在我的应用程序布局中,我指的是其中一些方法。 当我第一次在开发模式下加载任何页面时,我得到一个NoMethodError ,抱怨该方法(在gem的ApplicationHelper定义)不存在。 一旦我在我的应用程序中编辑ApplicationController ,问题就会自行解决。 有些东西告诉我,这取决于Rails自动加载的最新变化; 我正在使用Rails 3.2.2 我不能为我的生活解决为什么这不能正常工作:/

路由错误未初始化的常量用户

我是一个铁杆新手…我正在尝试设置登录Facebook的演示应用程序。 我正在使用OmniAuth并遵循本教程 https://github.com/plataformatec/devise/wiki/OmniAuth:-Overview 重定向到fB时出现此错误: Routing Error: uninitialized constant Users Try running rake routes for more information on available routes. 环境 Windows 7 Rails version :3.2.9.rc2 omniauth-1.1.1 devise-2.1.2 我的routes.rb看起来像这样: root :to => ‘static_pages#home’ resources :users get “static_pages/home” match ‘/auth/facebook’ => ‘omniauth#passthru’ match ‘/users/auth/facebook’ => ‘users/omniauth_callbacks#passthru’ devise_for :users, :controllers => { :omniauth_callbacks => “users/omniauth_callbacks” } , :strategy_class […]

将文件发送到Rails JSON API

我知道有类似的问题,但我还没有找到一个好的答案。 我需要做的是将一个对象的描述发送到我的一个创建方法,其中包括一些不同的属性,包括一个名为:image,paperclip attachment: has_attached_file :image 现在我已经读过,通过将图像编码和解码为base64,可以直接在JSON中完成发送图像,但这对我来说感觉就像一个肮脏的解决方案。 必须有更好的方法。 另一个解决方案是发送multipart / form-data请求,就像LEEjava在这里描述的那样。 这个的问题是在Rails 3.2.2中没有正确解释请求参数,并且JSON.parse在尝试解析params时吐出错误,或者可能是错误解释某些东西的Rails。 在2012-03-18 15:53:30开始POST“/api/v1/somemodel.json?token=ZoipX7yhcGfrWauoGyog”for 127.0.0.1 + 0200由Api :: V1处理:: SomeController #create as JSON参数:{“ {\ n \“parentmodel \”:{\ n \“superparent_id \”:1,\ n \“描述\”:\“享受花朵”,\ n \“\”:“=> {”\ n {\ n \“someattribute \”:1,\ n \“someotherattribute \”:2,\ n \“image \”:\“image1 \”\ n } \ n“=> {”\ n} \ n}“=> […]