首页 > 解决方案 > 如何在 Ruby on Rails 中将两个参数从控制器传递到模型?

问题描述

我想在索引视图中传递我在输入中引入的两个参数。这就是我在索引中的内容(风格无关紧要):

<form action="/cars" method="GET">
      <input type="text" name="from" placeholder="From" value="<%= @from %>"/>
      <input type="text" name="to" placeholder="To" value="<%= @to %>"/>
      <input style="color:white; border-radius: 2px; padding: 10px; margin-right: 20px; font-family: 'Montserrat', sans-serif; background-color: black; " type="submit", value="SUBMIT" />
</form>

在此之后,在 cars_controller 我有以下内容:

if params[:from] && params[:to]
      @cars = @cars.filter(params[:from, :to])
end

最后,在我的模型中,我的函数可以与 :from 和 :to 参数一起以特定的方式过滤汽车,不管里面是什么。我的方法如下:

def filter(from, to)
end

所以问题来了,在索引视图中,我手动引入 :from ant :to 参数,按下提交按钮,它返回“错误数量的参数(给定 2,预期 1)”

标签: ruby-on-railsrubymodel-view-controllerweb-applications

解决方案


 @cars = @cars.filter(params[:from] , params[:to])

推荐阅读