Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/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 4 Rails 4.2.5和userstamp-与方法创建者冲突_Ruby On Rails 4_Model_Stamp - Fatal编程技术网

Ruby on rails 4 Rails 4.2.5和userstamp-与方法创建者冲突

Ruby on rails 4 Rails 4.2.5和userstamp-与方法创建者冲突,ruby-on-rails-4,model,stamp,Ruby On Rails 4,Model,Stamp,Gemfile 用户模型 gem 'rails', '~> 4.2', '>= 4.2.5' gem 'userstamp', :git => 'https://github.com/stricte/userstamp.git', :branch => 'rails4' 如何修复它?您需要按照中的建议自定义可口吃通话 应该是这样的: You tried to define an association named creator on the model User, b

Gemfile

用户模型

gem 'rails', '~> 4.2', '>= 4.2.5'
gem 'userstamp', :git => 'https://github.com/stricte/userstamp.git', :branch => 'rails4'

如何修复它?

您需要按照中的建议自定义可口吃通话

应该是这样的:

You tried to define an association named creator on the model User, but this will conflict with a method creator already defined by Active Record. Please choose a different association name. (ArgumentError)

问题是Active record正在创建一个名为creator的方法,而gem也在尝试这样做,因为这是默认行为。更改创建者属性应该足够了。但是您可以自定义所有这些选项。

您需要按照中的建议自定义可口述通话

应该是这样的:

You tried to define an association named creator on the model User, but this will conflict with a method creator already defined by Active Record. Please choose a different association name. (ArgumentError)

问题是Active record正在创建一个名为creator的方法,而gem也在尝试这样做,因为这是默认行为。更改创建者属性应该足够了。但是您可以自定义所有这些选项。

如果我在User model User.rb中添加此代码,我会得到以下错误:
未定义的方法充当#
类用户:person,:creator(属性)>:create(User,:updater\u attribute=>:update\u user,:deleter\u attribute=>:delete\u user end这只是一个示例,仅通过粘贴它是行不通的。当您需要自定义方法名称时,文档就是这样建议的。由于creator方法带来了麻烦,您应该找到一种方法,使代码适应您的需要,并使其工作。您应该更多地查看文档,了解如何适应您的需求。知道创建者是导致冲突的人,您可以尝试解决或在project github页面中打开一个问题,告知您与活动记录的冲突。如果我在User model User.rb添加此代码,我得到了这个错误:
undefined method act_as_stampable'for#
class User:person,:creator_attribute=>:create_User,:updater_attribute=>:update_User,:deleter\u attribute=>:delete\u user end这只是一个示例,仅通过粘贴它是行不通的。当您需要自定义方法名称时,文档就是这样建议的。由于creator方法带来了麻烦,您应该找到一种方法,使代码适应您的需要,并使其工作。您应该更多地查看文档,了解如何适应您的需求。知道创建者是导致冲突的人,您可以尝试在project github页面中解决或打开一个问题,告知您与活动记录的冲突。
acts_as_stampable :stamper_class_name => :person,
                  :creator_attribute  => :create_user,
                  :updater_attribute  => :update_user,
                  :deleter_attribute  => :delete_user