Ruby on rails Ruby on Rails的参数数量错误(1代表0)

Ruby on rails Ruby on Rails的参数数量错误(1代表0),ruby-on-rails,ruby,Ruby On Rails,Ruby,嗨,我先发布了代码和下面的问题 def create new_tag = Tag.new(name: params[:create_new][:name], description: "TEST STRING", #TODO user: @current_user,) if new_tag.save create_assignment_tag_associatio

嗨,我先发布了代码和下面的问题

 def create

     new_tag = Tag.new(name: params[:create_new][:name],
                       description: "TEST STRING", #TODO
                       user: @current_user,)

     if new_tag.save
        create_assignment_tag_association_from_tag_id(params[:assignment_id], new_tag.id)
        flash[:success] = I18n.t('tag created successfully')
        redirect_to :back
     else
        flash[:error] = I18n.t('error creating tag')
        redirect_to :back
     end
  end

  def create_assignment_tag_association_from_tag_id(assignment_id, tag_id)
    puts "assignment_id: #{assignment_id}"
    puts "tag_id: #{tag_id}"

    tag = Tag.find(tag_id)
    create_assignment_tag_association_from_tag(assignment_id, tag)
  end

  def create_assignment_tag_association_from_tag(assignment_id, t)
    if !t.assignment.exists(assignment_id)
      assign = Assignment.find(assignment_id)
      t.assignments << (assign)
    end
  end
我不明白为什么Ruby认为create_assignment_tag_association_from_tag接受0个参数,为什么它认为只接受1个参数


注意:我目前仅从\u tag\u id调用create\u assignment\u tag\u association\u,以表明该方法接受两个参数,RonR认识到它需要两个参数,并且正在通过两个参数。由于该调用有效,我对第二个fn调用不起作用的原因感到困惑。

问题不是从标签创建分配标签关联,而是该函数内部的问题<代码>存在错误。您正在寻找。

您可以(从错误网页)显示您的参数吗?请求参数:{“utf8”=>“✓", "真实性令牌“=>”u4z67ktn1hse94h79ranb2vzysotim0ztufivoivno=“,”创建新“=>”{“名称”=>“asdgamynewtaggasdasg”},“提交”=>“保存更改”,“区域设置”=>“en”,“分配”=>“1”}哪一行是tags\u controller.rb中的第84行?我猜
如果!t、 assignment.exists(assignment_id)
是第84行。使用
exists?
而不是
exists
虽然,我很难找到一个方法
exists
,它接受0个参数。它是
arel
的SQL
exists
用于构造查询,它在许多ActiveRecord的对象中都可用,完全不同的事情:
app/controllers/tags_controller.rb:84:in `create_assignment_tag_association_from_tag'
app/controllers/tags_controller.rb:80:in `create_assignment_tag_association_from_tag_id'
app/controllers/tags_controller.rb:18:in `create'