我在工作和公司之间有一对多的联系,而且效果很好.在job form视图中,我有一个带有自动完成功能的公司名称文本_字段."自动完成"功能正常,但如果我在"自动完成"列表中输入了一个不存在的公司名称,"查找"或"创建"不会创建新公司.

  def company_name
    company.try(:name)
  end

  def company_name=(name)
    @company = Company.find_or_create_by(name: name)
  end

推荐答案

请看this answer.

过go 是什么

@company = Company.find_or_create_by_name(name)

在Rails 4中,现在是

@company = Company.find_or_create_by(name: name)

在Rails 4中实现这一点的另一种方法是:

@company = Company.where(name: name).first_or_create

Ruby-on-rails相关问答推荐

在has_many关系中由两个条件 Select

在ransackable_scopes中的作用域上创建activeadmin过滤器

在VP中部署rails 7和nginx

使用FactoryBot测试ActiveStorage的RSpec请求规范

删除链接不起作用,重定向 echo 示 Ruby

发送不调用类或模块中的私有方法

如何从数组中提取值

Ruby 3 动态关键字参数

如何在 Rails 3 中使用 Capybara 单击具有相同文本的第二个链接?

撬Ruby 如何重新加载?

Rails 中页面视图的简单计数器

Ruby如何写入Tempfile

Elastic Beanstalk Ruby/Rails 需要安装 git,所以 bundle install 可以工作.. 但不是

RubyMine - 关闭在空行中间单击的功能

在 RoR 中引用同一个表的多个外键

如果多态关联的类型列不指向 STI 的基本模型,为什么多态关联对 STI 不起作用?

Ruby:如何将一种方法接收到的所有参数和块传递给另一种方法?

RoR select_tag 默认值和选项

如何删除删除选项表单 activeAdmin?

如何从 ApplicationHelper 调用 ApplicationController 方法