Rails选择标记 - 将参数传递给控制器

时间:2017-08-16 11:37:42

标签: javascript jquery ruby-on-rails

最近,我遇到了使用select标记将参数从视图传递到控制器的问题。这是代码:

/app/views/admins/heimdall.html.erb

<%= select_tag 'users',options_from_collection_for_select(User.where(id: @users.ids), "id", "email", params[:users].blank? ? current_user.id : params[:users]), :onchange => "this.form.submit();", class: 'form-control pull-right' %>

我想要的是将所选用户的ID传递给哈希参数,以便再次重新加载页面,这次使用所选的用户数据。

在控制台中我收到此错误:

heimdall:280 Uncaught TypeError:无法读取属性&#39;提交&#39;为null

如果你帮助我,我将非常高兴。

2 个答案:

答案 0 :(得分:2)

请确保在select_tagform_tag查看助手内添加form_for

enter image description here

答案 1 :(得分:1)

问题是this.formundefined,因为js code是在文档上下文中执行的,它没有form属性。

如果您有多个表单并希望提交包含jquery字段的表单,则可以使用$("form").submit()选择器$("#email").parent("form").submit()email提交表单。