【问题标题】:Rails 3.1: Auto Select Value Passed From Param to Associated FormRails 3.1:自动选择从参数传递到关联表单的值
【发布时间】:2012-01-21 07:48:56
【问题描述】:

项目 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

以这种方式访问​​new_project_path 时,如何确保Project#new 表单中的默认<select><option> 是我的@task.title?

===更新===

我正在使用simple_form gem 来生成选择元素

= simple_form_for @project do |f|

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

【问题讨论】:

  • 您使用什么来生成select 元素?你能提供你这样做的行吗?
  • 用视图更新问题以生成select

标签: ruby-on-rails ruby forms


【解决方案1】:

来自 simple_form README:“关联助手只是在后台调用输入,因此所有可用于 :select、:radio 和 :check_boxes 的选项也可用于关联。”

所以我用这个 (http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select) 作为参考。

在您的控制器中,因为您通过 GET 请求收到了任务 ID:

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

在你看来:

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

看看这是否有效。如果不是,请尝试将最后一个参数括在花括号中以使其成为哈希。告诉我进展如何。

【讨论】:

    猜你喜欢
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 2011-03-13
    • 1970-01-01
    • 2011-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多