Ruby on Rails - 参数数量错误

时间:2017-03-24 04:20:39

标签: ruby-on-rails ruby

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

   redirect_to :back
end

这是我的控制器

<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>

这是HTML方面。

当我尝试这个时,红宝石给出了 WelcomeController中的ArgumentError#delete_homework 错误的参数数量(给定1,预期为0)

怎么了?请帮忙。 提前谢谢

2 个答案:

答案 0 :(得分:2)

更改此行:

sonar-scanner

为:

Homework.all( your_conditions )

Homework.where( your_conditions ) 方法无法获取任何参数。它只应在您只想从数据库中获取给定模型的所有记录时使用。

答案 1 :(得分:2)

试试这个

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