如何解决“参数缺失或值为空:团队”

时间:2019-07-02 22:26:07

标签: html ruby-on-rails

我正在尝试更新现有的团队名称。用户访问该网站,在文本框中输入他们想要的内容,然后单击“ Enter”提交更改。但是,即使我相信我正在发送ID,也遇到了params错误。

我已经搜索了互联网,尝试撬开,删除/更改/更新了我能想到的所有内容,但没有运气。我知道这是101编程,但是我已经完全了解了。

我已经包括了(我希望是)相关的编码,从控制器开始:

  def update
    #binding.pry
    team = Team.find(params[:id])
    team.update!(team_params)
          ...........
  private
    def team_params
      params.require(:team).permit(:team_name)
  end

***** html:

  <div class="column">
    <h1>Update Team Name</h1>
    <br>
      <%= form_for :team, url: team_path, method: :patch do |team| %>
      <input class="text_field" value="<%= @team.name %>" team.text_field :team_name, required: true %>
    <br>

    <p>
    <input type="submit" name="commit" value="Submit Changes" class="btn btn-success" />
    </p>
  </div>

我希望用户键入他们想要将团队名称更新为的名称,并且该名称会保留下来。但是,我收到以下错误消息:

TeamsController#update中的ActionController :: ParameterMissing 缺少参数或值为空:团队 提取的来源(第99行左右):

1 个答案:

答案 0 :(得分:1)

team_path需要id才能工作

<%= form_for :team, url: team_path(@team.id), method: :patch do |team| %>

但是您也应该对此很好

<%= form_for @team, method: :patch do |team| %>

甚至

<%= form_for @team do |team| %>