意外的“:”,预期控制器在创建对象时出现 keyword_end 错误

Unexpected ':', expecting keyword_end error in controller on object creation

在我的 Rails 应用程序中,我在 experiencecompany 之间建立了关联,我想将通过体验创建的所有公司设置为不 public 可见。

为此,我的 experience 模型中有此代码:

  def company_name=(name)
    company = Company.find_or_initialize_by(name: name)

    if company.new_record?
      public_visibility: false
    end
  end  

但这不起作用并引发以下错误:

unexpected ':', expecting keyword_end public_visibility: false

这样试试:-

def company_name=(name)
  company = Company.find_or_initialize_by(name: name)
  if company.new_record?
    company.public_visibility = false
    company.save
  end
end