2017-08-16 59 views
0

最近我遇到了一个问题,即使用select标记将参数从视图传递给控制器​​。下面是代码:Rails选择标记 - 将参数传递给控制器​​

/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传递给哈希PARAMS为了重新加载页面这次再次选择用户数据。

在控制台中我得到这个错误:

海姆达尔:280遗漏的类型错误:无法读取属性空

的“提交”

我会很高兴,如果u帮助我。

回答

2

请确定select_tag加入form_tagform_for查看帮手。

enter image description here

+1

谢谢,确实是需要的表单标签,问题就迎刃而解了。 – Borbat

1

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

您可以通过使用jquery选择$("form").submit()或者如果你有多种形式,并要提交包含email场形式也许$("#email").parent("form").submit()提交表单。