gpt4 book ai didi

ruby-on-rails - 让用户可以选择从下拉菜单中选择或输入自己的内容并将其添加到表格中

转载 作者:太空宇宙 更新时间:2023-11-03 18:06:42 25 4
gpt4 key购买 nike

对于新手问题,我深表歉意。但是,我一直在尝试创建一种特殊类型的协会,但我所有的努力都失败了。我想让用户能够选择他们的家乡城市。我已经放下了一些可供他们选择的选项,但如果它当前不在列表中 - 我希望用户能够简单地添加它“看不到你的城市,添加它”。然后另一个稍后注册的用户可以在他的列表中看到新城市。我在下面列出了迄今为止可用的所有相关代码。

非常感谢

首页城市迁移

class CreateHomecities < ActiveRecord::Migration[5.0]
def change
create_table :homecities do |t|
t.string :Hometown

t.timestamps
end
end
end

HomeCity 对用户的引用

class AddHomecitiesRefToUsers < ActiveRecord::Migration[5.0]
def change
add_reference :users, :homecity, foreign_key: true
end
end

用户.rb

class User < ApplicationRecord
cattr_accessor :current_user
belongs_to :homecity, optional: true
end

Homecity.rb

class Homecity < ApplicationRecord
has_many :users
end

Edit.html.erb

<%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %>
<%= devise_error_messages! %>
<div class="field">
<%= f.label :homecity %>
<br>
<%= f.collection_select :homecity_id, Homecity.all, :id, :Hometown %>
</div>
<div class="form-group">
<%= f.submit "Update", class: 'btn btn-lg btn-block btn-primary' %>
</div>
<% end %>

Seeds.rb

Homecity.destroy_all
bigapple = Homecity.create!(Hometown:"New York City")
techhub = Homecity.create!(Hometown:"San Francisco")
longhorns = Homecity.create!(Hometown:"Austin")
angels = Homecity.create!(Hometown:"Los Angeles")
windycity = Homecity.create!(Hometown:"Chicago")

Homecities_controller.rb(根据答案创建新的 Controller 文件)

class HomecitiesController < ApplicationController
before_action :authenticate_user!, only: [:new, :create]
def new
@homecity = Homecity.new
end
def create
@homecity = Homecity.new(homecity_params)
end
private
def homecity_params
params.require(:homecity).permit(:user_id)
end
end

类似于 Facebook 如何处理教育的示例 enter image description here

最佳答案

您是在重新发明轮子 - 我猜,如果您只是出于学习目的而这样做,那很好,但如果这是一个真正的应用程序,您很可能最好使用第 3 方 gem。

这一个的源数据可以很容易地保持最新(参见自述文件)

https://github.com/loureirorg/city-state

如果您不想使用它,请在您的页面“添加城市”中添加一个按钮,然后使用提交按钮提供一个输入字段,然后将新城市插入您的数据库。

关于ruby-on-rails - 让用户可以选择从下拉菜单中选择或输入自己的内容并将其添加到表格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43730104/

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