【问题标题】:How can get the selected option id in rails如何在rails中获取选定的选项ID
【发布时间】:2021-11-10 16:32:17
【问题描述】:

我正在尝试从下拉列表中获取所选选项的 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 %>

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4


    【解决方案1】:

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

    developer_id = params[:project][:developer_id]
    

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

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

    【讨论】:

      猜你喜欢
      • 2020-07-14
      • 1970-01-01
      • 1970-01-01
      • 2016-03-30
      • 1970-01-01
      • 2011-02-22
      • 1970-01-01
      • 2011-11-17
      • 1970-01-01
      相关资源
      最近更新 更多