我使用部分作为表单的一部分来创建新任务。部分是类别的动态列表 (AJAX),因此用户可以选择适当的类别。
我需要有权访问 tasks_controller 中的类别/category_list/@current_category变量,才能将所选类别分配给任务。
新.html.erb
<%= form_for @task do |form| %>
Category:
<%= render :partial => 'categories/category_list', :object => Category.root_list %>
...
<% end %>
tasks_controller.rb
def create
@task = Task.new(params[:task])
@task.category_id = ????
@task.save
...
end
感谢您的帮助!
如果我理解正确,您希望访问 HTML 字段的值,并且此字段是动态生成的,但静态提交。这与在没有 AJAX 的情况下完成它没有什么不同。
给定字段的名称,您可以使用 params[:name_of_field]
访问它。您还可以手动指定字段的名称,在您的情况下为 task[category_id]
,在这种情况下,您可以省略带有 ??? 的行从您的控制器,因为它将被 params[:task]
覆盖。