Rails 3.1: автоматический выбор значения, переданного из параметра в связанную форму - PullRequest
2 голосов
/ 21 января 2012

Проекты habtm Задачи

Вкл. tasks/show.html.erb У меня есть link_to "Add This Task To Project", new_project_path(:task => @task)

Это передает параметры @task в new_project_path http://localhost:3000/projects/new?task=24

Как обеспечитьпо умолчанию <select><option> в Project # новая форма - это мой @ task.title, когда к new_project_path обращаются таким образом?

=== Обновление ===

Я использую камень simple_form для создания элемента выбора

= simple_form_for @project do |f|

        = f.association :task, :collection => current_user.task.collect { |t| t.title }, :prompt => "Select workout"

1 Ответ

2 голосов
/ 22 января 2012

Из README simple_form: «Помощник по ассоциации просто вызывает ввод под капотом, поэтому все опции, доступные для: select,: radio и: check_boxes, также доступны для ассоциации.»

Итак, я использовал это (http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select) в качестве ссылки.

В вашем контроллере, поскольку вы получили идентификатор задачи через GET-запрос:

@task = Task.find(params[:task])

На ваш взгляд:

= f.association :task, :collection => current_user.task.collect { |t| t.title }, :prompt => "Select workout", :selected => @task.title

Посмотрите, работает ли это. Если нет, попробуйте заключить последний аргумент в фигурные скобки, чтобы сделать его хешем. Дайте мне знать, как это происходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...