2015-12-14 2 views
1

Как я могу заставить это работать?Рельсы: Отправить форму на замену

<%= form_for current_user, html: {multipart: true } do |f| %> 
    <%= f.select(:brand, Brand.pluck(:company), {prompt:true}, {class: 'form-control'}, {:onchange => 'this.form.submit()'}) %> 
<% end %> 

Цель состоит в том, чтобы отправить форму на изменение автоматически. Но код выше не работает. Я получаю ошибку wrong number of arguments (5 for 1..4). Есть идеи?

ответ

1

Последние три аргумента есть на самом деле хэш опций. Попробуйте положить их в скобках, чтобы понять, что они не являются больше аргументов:

<%= f.select(:brand, Brand.pluck(:company), (prompt: true, class: 'form-control', :onchange => 'this.form.submit()')) %> 

или alertatively

<%= f.select(:brand, Brand.pluck(:company), options {prompt:true, class: 'form-control', :onchange => 'this.form.submit()'}) %> 
0

Выберите Helper:

select(object, method, choices = nil, options = {}, html_options = {}, &block) 

Это должно работать с подсказкой также:

<%= f.select(:brand, Brand.pluck(:company), {include_blank: true, class: 'form-control'}, :onchange => 'this.form.submit()') %> 

Rails select helper

Смежные вопросы