这是去年已经讨论过很多次的 SaaS(“烂土豆”)培训问题,但我似乎没有找到答案。
我有一个带有用于生成哈希命名评级的评级复选框的表单。然后我使用 params[:ratings] 将最新的复选框选择传递到不同的页面。当用户提交表单时,我的代码可以正常工作。但是如果他们在没有点击提交按钮的情况下四处走动,那么最新的值就会丢失。
我认为每当用户选中/取消选中复选框时都需要保存最新值,但不知道如何。
我需要使用haml和ruby来做到这一点,没有javascript等。
这是去年已经讨论过很多次的 SaaS(“烂土豆”)培训问题,但我似乎没有找到答案。
我有一个带有用于生成哈希命名评级的评级复选框的表单。然后我使用 params[:ratings] 将最新的复选框选择传递到不同的页面。当用户提交表单时,我的代码可以正常工作。但是如果他们在没有点击提交按钮的情况下四处走动,那么最新的值就会丢失。
我认为每当用户选中/取消选中复选框时都需要保存最新值,但不知道如何。
我需要使用haml和ruby来做到这一点,没有javascript等。
为了完整起见。
要求是,如果用户关闭网页并稍后返回,那么之前的选择应该可用。所以我用cookies做了,并通过了测试用例。
在你的电影控制器中,你有一个实例变量@selected_ratings,你可以在其中保存所有当前的评级。
if params[:ratings] != session[:ratings] and @selected_ratings != {}
session[:ratings] = @selected_ratings
redirect_to :sort => sort, :ratings => @selected_ratings and return
end
@movies = Movie.find_all_by_rating(@selected_ratings.keys, ordering)
在电影索引中,您拥有的 form_tag
= check_box_tag "ratings[#{rating}]", 1, @selected_ratings.include?(rating)