如何在rails中获得选中的选项id



我试图从下拉菜单中获得选定选项的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)

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