如何在 rails 中获取选定的选项 ID

How can get the selected option id in rails

我试图从下拉列表中获取所选选项的 ID,但在创建项目时得到的是 nill ID

def create


    developer_id = params[:developer_id]
    parameters = project_params.merge({ user_id: current_user.id, developer_id: developer_id })
    @project = Project.new(parameters)
    respond_to do |format|
      if @project.save
         format.html { redirect_to projects_path, flash: { success: 'Project added successfully ' } }
      else
         format.html { render :new }
      end

   end
end

def project_params
   params.require(:project).permit(:name, :user_id)
end

new.html.erb

 <%= form_for :project, :html => {:class=>"form-group"}, url: projects_path  do |f| %>

   Add task: <%=f.text_field :name, class:"form-control" %><br>
   <h2>Select Developer</h2>
   <%= f.select :developer_id, options_for_select(@users.collect  {|user|["#{user.name}","#{user.id}"]}) %><br>


   <%= f.submit "Add" %>

<% end %>

developer_id 嵌套在 project 下,就像其他参数一样。

developer_id = params[:project][:developer_id]

developer_id = params.dig(:project, :developer_id)

当您不确定在哪里可以找到某些参数或者它们是否存在时,最简单的方法当然是查看您的应用程序日志文件。在那里你应该看到传入的请求和所有参数以及它们是如何嵌套的。