Questions tagged «ruby-on-rails»

Ruby on Rails是一个用Ruby编写的开源全栈Web应用程序框架。它遵循流行的MVC框架模型,并以其“配置之上的约定”方法进行应用程序开发而闻名。

4
Rails中的OO设计:在哪里放置东西
我真的很喜欢Rails(即使我通常是RESTless的),我也很喜欢Ruby。尽管如此,创建大型ActiveRecord子类和大型控制器的趋势还是很自然的(即使您确实为每个资源使用一个控制器)。如果要创建更深的对象世界,您将把类(和我想的模块)放在哪里?我问的是视图(在Helpers本身中),控制器和模型。 Lib没关系,我已经找到了一些解决方案可以在开发环境中重新加载它,但我想知道是否有更好的方法可以做到这一点。我真的只是担心班级过大。此外,引擎又如何适应引擎呢?

30
学习Ruby on Rails
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 就目前而言,我是Java和C#开发人员。我对Ruby on Rails的了解越来越多,我真正想要学习的更多。 您发现什么是学习RoR的最佳途径?在Windows上开发会更容易,还是仅在Linux上运行虚拟机? 是否有一个可以与Visual Studio的强大功能匹敌的IDE?有什么开发的程序可以提供很好的操作开销?有什么好书吗? 认真地说,任何技巧/窍门/杂音都很棒。
241 ruby-on-rails  ruby  ide 

7
在Ruby中将字符串转换为可符号化
符号通常以此表示 :book_author_title 但是如果我有一个字符串: "Book Author Title" 在rails / ruby​​中有一种内置方式将其转换为符号,我可以在: 不进行原始字符串regex替换的情况下使用该符号?

6
Rails原始SQL示例
如何将此代码转换为原始sql并在rails中使用?因为当我在heroku中部署此代码时,有一个请求超时错误。我认为如果使用原始sql会更快。 @payments = PaymentDetail.joins(:project).order('payment_details.created_at desc') @payment_errors = PaymentError.joins(:project).order('payment_errors.created_at desc') @all_payments = (@payments + @payment_errors)
239 sql  ruby-on-rails 

11
Rails:从列中选择唯一值
我已经有一个可行的解决方案,但是我真的很想知道为什么这不起作用: ratings = Model.select(:rating).uniq ratings.each { |r| puts r.rating } 它选择但不打印唯一值,而是打印所有值,包括重复项。它在文档中:http : //guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

11
未初始化的常数ActiveSupport :: Dependencies :: Mutex(NameError)
当我想创建Ruby on Rails项目时,会收到以下消息。 /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support/dependencies.rb:55: uninitialized constant ActiveSupport::Dependencies::Mutex (NameError) from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.8/lib/active_support.rb:57 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/lib/rails_generator.rb:31 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:36:in `require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.8/bin/rails:15 from /usr/bin/rails:19:in `load' from /usr/bin/rails:19 出了什么问题?我该如何解决?

17
警告:无法验证CSRF令牌的真实性
我正在使用AJAX将数据从视图发送到控制器,但出现此错误: 警告:无法验证CSRF令牌的真实性 我想我必须将此令牌与数据一起发送。 有人知道我该怎么做吗? 编辑:我的解决方案 我是通过将以下代码放入AJAX帖子中来完成此操作的: headers: { 'X-Transaction': 'POST Example', 'X-CSRF-Token': $('meta[name="csrf-token"]').attr('content') },

5
覆盖设计注册控制器
我已经在注册表单中添加了一个基于其他模型的字段,请参阅如何将嵌套属性与devise模型一起使用以获取详细信息。这部分工作正常。 现在的问题是,当我保存时,它在由devise提供的Activerecord::UnknownAttributeError此字段(公司)提供的注册控制器的create动作中失败。 我假设我需要重写注册控制器,还是有更好/更简便的方法来解决这个问题?

6
attr_accessor和attr_accessible之间的区别
在Rails中,attr_accessor和之间有什么区别attr_accessible?据我了解,using attr_accessor用于为该变量创建getter和setter方法,以便我们可以像Object.variable或那样访问变量Object.variable = some_value。 我读到这attr_accessible使外界可以访问该特定变量。有人可以告诉我有什么区别吗

6
Rails Rake任务是否提供对ActiveRecord模型的访问?
我正在尝试创建一个自定义的rake任务,但似乎我无权访问我的模型。我认为这是Rails任务中隐含的内容。 我在lib / tasks / test.rake中有以下代码: namespace :test do task :new_task do puts Parent.all.inspect end end 这是我的父模型的样子: class Parent < ActiveRecord::Base has_many :children end 这是一个非常简单的示例,但是出现以下错误: /> rake test:new_task (in /Users/arash/Documents/dev/soft_deletes) rake aborted! uninitialized constant Parent (See full trace by running task with --trace) 有任何想法吗?谢谢


5
使用rvmrc或ruby-version文件通过RVM设置项目gemset?
我使用RVM,Ruby Version Manager为我的每个Rails项目指定一个Ruby版本和一组gem。 我有一个.rvmrc文件,可以在我cd进入项目目录时自动选择Ruby版本和gemset 。 安装RVM 1.19.0后,我收到一条消息 您正在使用.rvmrc,它需要信任,它比较慢,并且与其他ruby管理器不兼容,您可以.ruby-version使用切换到 使用rvm rvmrc to [.]ruby-version或忽略此警告rvm rvmrc warning ignore /Users/userName/code/railsapps/rails-prelaunch-signup/.rvmrc, .rvmrc它将继续是RVM 1和RVM 2中的默认项目文件,忽略对所有文件运行发出警告rvm rvmrc warning ignore all.rvmrcs。 我应该继续使用.rvmrc文件还是切换到.ruby-version文件?哪个最佳?有哪些后果?


4
在Rails 4中自动加载lib文件
/lib在开发过程中,我在初始化器中使用以下行来自动加载目录中的代码: config / initializers / custom.rb: RELOAD_LIBS = Dir[Rails.root + 'lib/**/*.rb'] if Rails.env.development? (来自Rails 3 Quicktip:在开发模式下自动重新加载lib文件夹) 它工作得很好,但是在生产中使用效率太低-我只想在启动时加载它们,而不是在每个请求上加载库。同一博客还有另一篇文章描述了如何执行此操作: config / application.rb: # Custom directories with classes and modules you want to be autoloadable. config.autoload_paths += %W(#{config.root}/lib) config.autoload_paths += Dir["#{config.root}/lib/**/"] 但是,当我切换到该位置时,即使在开发中,尝试使用lib函数时也会出现NoMethodErrors。 我的一个lib文件的示例: lib / extensions.rb: Time.class_eval do def self.milli_stamp Time.now.strftime('%Y%m%d%H%M%S%L').to_i end end …

5
Rails参数解释了吗?
任何人都可以params在Rails控制器中进行解释:它们来自何处以及它们所引用的是什么? def create @vote = Vote.new(params[:vote]) item = params[:vote][:item_id] uid = params[:vote][:user_id] @extant = Vote.find(:last, :conditions => ["item_id = ? AND user_id = ?", item, uid]) last_vote_time = @extant.created_at unless @extant.blank? curr_time = Time.now end 我希望能够逐行阅读此代码并了解发生了什么。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.