项目 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#new 表单中是我的 @task.title 当 new_project_path
以这种方式访问?
===更新===
我正在使用 simple_form
gem 生成选择元素
= simple_form_for @project do |f|
= f.association :task, :collection => current_user.task.collect { |t| t.title }, :prompt => "Select workout"
最佳答案
来自 simple_form 自述文件:“关联助手只是调用引擎盖下的输入,因此所有可用于 :select、:radio 和 :check_boxes 的选项也可用于关联。”
所以我用这个(http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select)作为引用。
在您的 Controller 中,由于您通过 GET 请求收到了任务 ID:
@task = Task.find(params[:task])
在你看来:
= f.association :task, :collection => current_user.task.collect { |t| t.title }, :prompt => "Select workout", :selected => @task.title
看看是否可行。如果不是,请尝试将最后一个参数括在花括号中以使其成为散列。让我知道进展如何。
关于ruby-on-rails - rails 3.1 : Auto Select Value Passed From Param to Associated Form,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8951502/