【发布时间】:2013-11-11 07:06:00
【问题描述】:
我是 rails 新手。我想通过从下拉列表中选择值来使用 jquery 对内容进行排序。 所以我在使用 jquery 将表单提交到特定的控制器操作时遇到问题。 我有一个包含许多产品的类别模型。在我的类别显示中,我有一个如下形式:
<%= form_for(:category, :url => sort_category_path, method: 'GET', :class=> " form-inline pull-left") do |f| %>
Sort By :
<select id ="sort" name= "order_by">
<option>Default</option>
<option>Name</option>
<option>Pirce</option>
</select>
<%end%>
在这里,我不确定 :category 是什么意思? 用于提交表单的 Jquery:
$('select#sort').change(
function(e){
$(this).closest('form').trigger('submit');
});
然后在我的类别控制器中,我有一个这样的 sort_item 操作:
def sort_item
@category_sort = Category.find(params[:id])
@products = @category_sort.products.order("#{params[:order_by].to_s} ASC")
end
我不知道如何发送对请求的响应。 服务器日志说:
在 2013-11-11 12:53:49 +0600 开始 GET "/en/categories/tshart/sort_item?utf8=%E2%9C%93&order_by=Pirce" for 127.0.0.1
CategoriesController#sort_item 处理为 HTML
参数:{"utf8"=>"✓", "order_by"=>"Pirce", "locale"=>"en", "id"=>"tshart"}
类别负载 (0.3ms) SELECT categories.* FROM categories WHERE categories.slug = 'tshart' LIMIT 1
重定向到http://test.com/en/categories/tshart 过滤器链因 :find_category 呈现或重定向而停止 6.7ms 完成 301 Moved Permanently (ActiveRecord: 0.3ms)
请记住 test.com 代表 localhost:3000 。
我想知道我在这里做错了什么,为什么排序不起作用或者有没有更好的方法来完成我的排序任务?
请帮助我。 提前致谢。
【问题讨论】:
标签: javascript jquery ruby-on-rails forms submit