gpt4 book ai didi

ruby-on-rails - find_or_create 在 Rails 中不起作用

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

我有一个非常简单的应用程序。这个应用程序需要做的就是检查用户名是否存在。如果是,则重定向到用户。如果不存在,则根据输入的用户名创建一个新用户并重定向到新用户。由于某种原因永远不会创建新用户,但 find_or_create 行在 Rails 控制台中有效。这是代码:

用户 Controller .rb

  def new

@user = User.new

end


def create

@u = User.find_or_create_by_name(params[:name])
redirect_to @u

end

new.html.erb

<% form_for(@user) do |f| %>
<%= f.error_messages %>

<p>
<%= f.label :Username %><br />
<%= f.text_field :name %>
</p>
<p>
<%= f.submit 'Submit' %>
</p>
<% end %>

如有任何帮助,我们将不胜感激。

最佳答案

Rails 将把整个表单打包到 params[:user] 中,所以您真的需要 params[:user][:name]

即:

@u = User.find_or_create_by_name(params[:user][:name])

关于ruby-on-rails - find_or_create 在 Rails 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4696976/

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