Я хочу иметь form_for @user
, но размещать в настраиваемом действии в контроллере пользователей.
Как я могу это сделать?
ruby-on-rails
Бланкмэн
источник
источник
url_for
это необходимо. Кроме того, поскольку контроллер такой же, вы можете использоватьform_for @user, :url => :action => 'myaction'
У меня работает следующее:
источник
action:
( action двоеточие ) api.rubyonrails.org/classes/ActionView/Helpers/…form_for @user, url: {action: 'myaction'}
но это дает мнеNo route matches {:action=>"myaction", :controller=>"users"}
ошибку.resources :users do
collection do
get :myaction
end
end
Я сделал это вот так
Обратите внимание на необязательный параметр,
id
установленный для атрибута идентификатора экземпляра пользователя.источник
В качестве альтернативы то же самое можно сделать
form_tag
с помощью синтаксиса:Как описано в http://guides.rubyonrails.org/form_helpers.html#multiple-hashes-in-form-helper-calls
источник
@user
. Использование aform_tag
не привязывает атрибуты объекта к полям формы.Если вы хотите передать пользовательский контроллер в form_for при рендеринге частичной формы, вы можете использовать это:
а затем в форме частично используйте эту локальную переменную следующим образом:
источник
новый синтаксис
источник