Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails self.table_名称在具有不同rails架构的模型中不起作用_Ruby On Rails_Postgresql_Activerecord_Ruby On Rails 5 - Fatal编程技术网

Ruby on rails self.table_名称在具有不同rails架构的模型中不起作用

Ruby on rails self.table_名称在具有不同rails架构的模型中不起作用,ruby-on-rails,postgresql,activerecord,ruby-on-rails-5,Ruby On Rails,Postgresql,Activerecord,Ruby On Rails 5,下面是创建设置模式和添加表createuser和role class CreateSettingSchema < ActiveRecord::Migration[5.0] def up execute 'CREATE SCHEMA settings' create_table "settings.users" do |t| t.string :name t.string :email t.string :phone t

下面是创建设置模式和添加表create
user
role

class CreateSettingSchema < ActiveRecord::Migration[5.0]
    def up
    execute 'CREATE SCHEMA settings'
    create_table "settings.users" do |t|
      t.string :name
      t.string :email
      t.string :phone
      t.string :address
      t.timestamps
    end

    create_table "settings.roles" do |t|
      t.string :name
            t.timestamps
    end
  end

  def down
    drop_table "settings.roles"
    drop_table "settings.users"
    execute 'DROP SCHEMA settings'
  end

end
我查过了

但当我尝试访问
设置角色时,它会显示以下错误

2.3.1 :005 > SettingRole
ArgumentError: wrong number of arguments (given 1, expected 0)
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.6/lib/active_record/model_schema.rb:217:in `table_name'
    from /home/uzaif/learn/enc_attr/app/models/setting_role.rb:2:in `<class:SettingRole>'
    from /home/uzaif/learn/enc_attr/app/models/setting_role.rb:1:in `<top (required)>'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:477:in `load'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:477:in `block in load_file'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:662:in `new_constants_in'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:476:in `load_file'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:375:in `block in require_or_load'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:37:in `block in load_interlock'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies/interlock.rb:12:in `block in loading'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/concurrency/share_lock.rb:150:in `exclusive'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies/interlock.rb:11:in `loading'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:37:in `load_interlock'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:358:in `require_or_load'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-
2.3.1:005>设置角色
ArgumentError:参数数目错误(给定1,应为0)
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.6/lib/active\u record/model\u schema.rb:217:在“表名”中
from/home/uzaif/learn/enc_attr/app/models/setting_role.rb:2:in`'
from/home/uzaif/learn/enc_attr/app/models/setting_role.rb:1:in`'
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:477:in'load'
来自/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:477:“加载文件中的块”
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:662:in'new\u constants\u in'
来自/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:476:“加载文件”中
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:375:在“请求或加载中的块”中
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:37:“加载中的块”
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies/interlock.rb:12:在“加载中的块”中
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u-support/concurrency/share\u-lock.rb:150:在“独占”中
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies/interlock.rb:11:在“加载”中
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:37:in'load\u interlock'
from/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active\u support/dependencies.rb:358:in“require\u或\u load”
来自/home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-
如前所述,您需要将其设置为:

self.table_name = 'settings.roles'

您使用的是什么版本的rails?@JagdeepSingh rails
“~>5.0.6”
一个真正的错误:)
2.3.1 :005 > SettingRole
ArgumentError: wrong number of arguments (given 1, expected 0)
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activerecord-5.0.6/lib/active_record/model_schema.rb:217:in `table_name'
    from /home/uzaif/learn/enc_attr/app/models/setting_role.rb:2:in `<class:SettingRole>'
    from /home/uzaif/learn/enc_attr/app/models/setting_role.rb:1:in `<top (required)>'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:477:in `load'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:477:in `block in load_file'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:662:in `new_constants_in'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:476:in `load_file'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:375:in `block in require_or_load'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:37:in `block in load_interlock'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies/interlock.rb:12:in `block in loading'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/concurrency/share_lock.rb:150:in `exclusive'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies/interlock.rb:11:in `loading'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:37:in `load_interlock'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-5.0.6/lib/active_support/dependencies.rb:358:in `require_or_load'
    from /home/uzaif/.rvm/gems/ruby-2.3.1/gems/activesupport-
self.table_name = 'settings.roles'