gpt4 book ai didi

ruby-on-rails - 如何在 ruby​​ on rails 中传递数据的 id 进行编辑?

转载 作者:数据小太阳 更新时间:2023-10-29 08:39:16 25 4
gpt4 key购买 nike

我有一项任务是编辑数据的值。为此,我创建了一个 edit_userlist 页面并创建了用于编辑的代码。但是通过运行我得到了一个错误,它显示如下

Couldn't find User without an ID

此链接的 url 是:http://localhost:3000/edit_userlist.1

我的 Controller 页面是

def edit_userlist
@user = User.find(params[:id])
end

我要编辑的索引页是

<% @users.each do |user| %>
<tr>
<td><%= user.name %></td>
<td><%= user.age %></td>
<td><%= user.country %></td>
<td><%= user.state %></td>
<td><%= user.email %></td>
<td><%= user.phone %></td>
<td><%= link_to 'Show', user %></td>
<td><%= link_to 'Edit', edit_userlist_path(user) %></td>
<td><%= link_to 'Destroy', user, :method => :delete, :data => { :confirm => 'Are you sure?' } %></td>
</tr>
<% end %>

我的 edit_userlist 页面是

<%= form_for(@user) do |f| %>
<% if @user.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being saved:</h2>

<ul>
<% @user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>

<div class="field">
<%= f.label :name %><br />
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.label :age %><br />
<%= f.text_field :age %>

</div>
<div class="field">
<%= f.label :country %><br />
<%= f.text_field :country %>
</div>
<div class="field">
<%= f.label :state %><br />
<%= f.text_field :state %>
</div>
<div class="field">
<%= f.label :email %><br />
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :phone %><br />
<%= f.text_field :phone %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>

我为页面提供了正确的路由。我的 routes.rb 页面是

match '/edit_userlist/' => 'users#edit_userlist', :as => :edit_userlist

如何传递 id 以编辑值?

最佳答案

将你的路线更改为

match '/edit_userlist/:id' => 'users#edit_userlist', :as => :edit_userlist

关于ruby-on-rails - 如何在 ruby​​ on rails 中传递数据的 id 进行编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14745316/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com