2
我知道可能有1或2个类似的问题,但他们都没有帮助我理解我在下面的错误。 我有以下HAML形式在我看来:rails form_tag with checkboxes
= form_tag movies_path,:id=>"ratings_form", :method => :get do
Include:
- @all_ratings.each_with_index do |rating, index|
= rating
= check_box_tag "ratings[]", rating, @selected_ratings.include?(rating), id:"ratings_#{rating}"
,并在我的控制器:
def index
sorting=params[:sorting_on_a_column]
if sorting=='1'
@sort='title'
@movies=Movie.order('title')
elsif sorting=='2'
@sort='date'
@movies=Movie.order('release_date')
else
@movies=Movie.all
end
@all_ratings=Movie.select(:rating).map(&:rating).uniq
@selected_ratings = (params["ratings"].present? ? params["ratings"] : @all_ratings)
@movies = @movies.where(":rating IN (?)", params["ratings"]) if params["ratings"].present? and params["ratings"].any?
end
我的上述目标是根据标题或RELEASE_DATE(它所做的)电影,也进行排序只显示与选中的复选框相对应的电影。我是Ruby和Rails的新手,所以我非常感谢您的帮助。感谢您的提前!
首先,感谢您的时间。所以我按照您的说法编辑了上面的内容(我只跳过了点击复选框文本的功能),但它仍然无法正常工作。它说未定义的方法对于数组 – Controller
在你的倒数第二行:'@movies = Movie.where('... –
我设法使它以不同的方式工作,但1为您的帮助(当我达到代表15:D) – Controller