Questions tagged «ruby-on-rails»

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

6
地址已在使用中-bind(2)(Errno :: EADDRINUSE)
我正在尝试通过Puma Web服务器部署Rails应用程序。尝试使用配置文件启动Puma服务器时,出现bundle exec puma -C config/puma.rb错误,表明该地址已被使用。 有人知道如何解决这个问题吗? bundle exec puma -C config/puma.rb [23699] Puma starting in cluster mode... [23699] * Version 2.11.3 (ruby 2.0.0-p353), codename: Intrepid Squirrel [23699] * Min threads: 5, max threads: 5 [23699] * Environment: development [23699] * Process workers: 2 [23699] * Preloading application Jdbc-MySQL is …




6
xxx的副本已从模块树中删除,但仍处于活动状态
我很确定该错误与TenantIdLoader模块的实际内容无关。相反,它与ActiveSupport依赖关系有关。 我似乎无法摆脱这个错误。从我读到的内容来看,这是因为要么ActiveRecord::Base正在重新Company::TenantIdLoader加载,要么正在重新加载,并且某种程度上没有进行通信。请帮助!我真的很希望能够升级到Rails 4.2。 编辑 现在,我了解到这是因为我正在引用Tenant正在自动重新加载的内容。我需要能够实际引用该类,所以有人知道如何解决这个问题吗? config / application.rb config.autoload_paths += %W( #{config.root}/lib/company ) config / initializers / company.rb ActionMailer::Base.send(:include, Company::TenantIdLoader) lib / company / tenant_id_loader.rb module Company module TenantIdLoader extend ActiveSupport::Concern included do cattr_accessor :tenant_dependency self.tenant_dependency = {} after_initialize do self.tenant_id = Tenant.active.id if self.class.tenant_dependent? and self.new_record? and Tenant.active.present? and …

13
Ubuntu Rails在zlib上安装失败
我刚刚将开发箱移至Ubuntu 8.10。这是我第一次认真尝试Linux作为日常使用的操作系统,而我很难让Rails正常运行。我遵循了许多似乎都可以正常工作的教程,但是当我尝试对任何东西使用gem install或gem update时,出现如下错误: /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- zlib (LoadError) from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/spec_fetcher.rb:1 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/commands/update_command.rb:5 from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:167:in `load_and_instantiate' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:88:in `[]' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:144:in `find_command' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:131:in `process_args' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/command_manager.rb:102:in `run' from /usr/local/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:58:in …

5
在其他控制器中设计表单
我正在将一个devise gem用于sign_in / sign_out过程。 我使用以下方法从devise生成了视图文件 rails g devise views 我看到有一个devise / sessions / new.html.erb文件,其中包含sign_in的表单。 我创建了另一个文件devise / sessions / _form.html.erb,并<%= render 'form' %>在new.html.erb文件中进行了工作,效果很好。 现在,我想包含来自其他控制器的此表单。因此,在名为“ main”的控制器(特别是在视图页面内)中的“ mains / index.html.erb”中,我包含了<%= render 'devise/sessions/form' %>文件。似乎包含工作正常,但出现以下错误。 NameError in Mains#index Showing /home/administrator/Ruby/site_v4_ruby/app/views/devise/sessions/_form.html.erb where line #1 raised: undefined local variable or method `resource' for #<#<Class:0x007f1aa042d530>:0x007f1aa042b870> Extracted source (around …

2
Ruby on Rails。如何在属于关系的Active Record中使用.build方法?
我无法在Rails中找到有关.build方法的任何文档(我目前正在使用2.0.2)。 通过实验,您似乎可以使用build方法has_many在保存任何一条记录之前将一条记录添加到关系中。 例如: class Dog < ActiveRecord::Base has_many :tags belongs_to :person end class Person < ActiveRecord::Base has_many :dogs end # rails c d = Dog.new d.tags.build(:number => "123456") d.save # => true 这将正确保存带有外键的狗和标签。这似乎在belongs_to关系中不起作用。 d = Dog.new d.person.build # => nil object on nil.build 我也尝试过 d = Dog.new d.person = Person.new …

10
Rails 5:在生产环境中加载lib文件
我已将我的应用程序之一从Rails 4.2.6升级到Rails 5.0.0。该升级指南说,是自动加载功能在生产中默认情况下禁用现在。 现在,在生产服务器上总是出现错误,因为我在application.rb文件中加载了所有带有自动加载功能的lib 文件。 module MyApp class Application < Rails::Application config.autoload_paths += %W( lib/ ) end end 现在,我将其设置为config.enable_dependency_loading,true但是我想知道是否有更好的解决方案。必须有一个默认情况下在生产中禁用自动加载的原因。

5
Rails检测请求是否为AJAX
在我的动作中,我只希望响应从AJAX请求中调用的处理。我该如何检查? 我想做这样的事情: def action @model = Model.find(params[:id]) respond_to do |format| if (wasAJAXRequest()) #How do I do this? format.html #action.html.erb else format.html {redirect_to root_url} end end

1
Rails response_with:它是如何工作的?
我一直在这里阅读有关该respond_with方法在Rails 3中有多酷的信息,但是我什至在Rails API或搜索源中都找不到该方法的引用。谁能向我解释它的工作原理(可以使用哪些选项等)或将其指向实际实现的位置,以便我自己阅读代码?

12
如何在Rails控制台中获得良好的格式
我想得到这样的东西看起来不错: >> ProductColor.all => [#<ProductColor id: 1, name: "White", internal_name: "White", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 2, name: "Ivory", internal_name: "Ivory", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 3, name: "Blue", internal_name: "Light Blue", created_at: "2009-06-10 04:02:44", updated_at: "2009-06-10 04:02:44">, #<ProductColor id: 4, name: "Green", internal_name: …
127 ruby-on-rails  irb 


6
嵌套属性不允许的参数
我有一个Bill对象,其中有很多Due对象。该Due对象也属于Person。我想要一种可以在一个页面中全部创建Bill及其子项的表单Dues。我正在尝试使用嵌套的属性创建表单,类似于此Railscast中的属性。 相关代码如下: due.rb class Due < ActiveRecord::Base belongs_to :person belongs_to :bill end bill.rb class Bill < ActiveRecord::Base has_many :dues, :dependent => :destroy accepts_nested_attributes_for :dues, :allow_destroy => true end bills_controller.rb # GET /bills/new def new @bill = Bill.new 3.times { @bill.dues.build } end bills / _form.html.erb <%= form_for(@bill) do |f| %> …

12
find vs find_by vs where
我是新手。我看到有很多找到记录的方法: find_by_<columnname>(<columnvalue>) find(:first, :conditions => { <columnname> => <columnvalue> } where(<columnname> => <columnvalue>).first 而且看起来它们所有人最终都生成完全相同的SQL。另外,我认为查找多个记录也是如此: find_all_by_<columnname>(<columnvalue>) find(:all, :conditions => { <columnname> => <columnvalue> } where(<columnname> => <columnvalue>) 是否有经验法则或推荐使用哪个准则?

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.