简体   繁体   English

Ruby on Rails-错误的参数数量

[英]Ruby on Rails - wrong number of arguments

def delete_homework
   Homework.all(:conditions => {:teacher => params.require(:teacher) })

   redirect_to :back
end

This is my controller 这是我的控制器

<div class="row">
  <div class="col s12">
    <div class="card blue-grey lighten-2">
      <div class="card-content white-text">
        <span class="card-title">Delete Homework</span>
        <form action="/welcome/delete_homework">
          <input type="text" name="teacher" placeholder="Teacher Name">
          <input class="btn waves-effect waves-light" type="submit">
        </form>
      </div>
    </div>
  </div>
</div>

This is the HTML side. 这是HTML方面。

When I try this, ruby gives ArgumentError in WelcomeController#delete_homework wrong number of arguments (given 1, expected 0) 当我尝试此操作时,ruby给出了WelcomeController#delete_homework中的ArgumentError错误的参数数量(给定1,预期为0)

what's wrong? 怎么了? please help. 请帮忙。 Thank you in advance 先感谢您

Change this line: 更改此行:

Homework.all( your_conditions )

to: 至:

Homework.where( your_conditions )

The all method can't take any parameters. all方法不能使用任何参数。 It should only be used when you simply want to grab all the records of a given model from the database. 仅当您只想从数据库中获取给定模型的所有记录时,才应使用它。

尝试这个

Homework.where(:teacher => params[:teacher])

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM