我試圖從下拉選單中獲得所選選項的ID,但當我創建專案時,我得到的ID是空的
。def create
developer_id = params[:developer_id]
parameters = project_params.merge({ user_id: current_user.id, developer_id: developer_id })
@project = Project.new(引數)
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
end end
def project_params
params.require(:project).permit(:name, :user_id)
結束。
new.html.erb
<%= form_for :project, :html => {: class=>"form-group"}, url: projects_path do |f| %>
添加任務: <%=f. text_field :name, >class:"form-control" %><br>/span>
<h2>選擇開發者</h2>
<%= f.select :developer_id, options_for_select(@users.collect {|user|["#{user.name}", "#{user.id}"]}) %> < br>。
<%= f.submit "Add" %>
<%結束%>。
uj5u.com熱心網友回復:
developer_id是嵌套在project下面的,就像其他引數一樣。
developer_id = params[:project][:developer_id]
或者
developer_id = params.dig(:project, :developer_id)
當你不確定在哪里可以找到某些引數或者它們是否存在時,最簡單的方法當然是查看你的應用程式的日志檔案。在那里你應該看到傳入的請求和所有的引數以及它們是如何嵌套的。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/307004.html
標籤:
