错误“ method_missing”:推送heroku时未定义方法“ has_one_attached”

时间:2019-03-18 17:42:24

标签: ruby-on-rails heroku

我试图将我的Ruby应用程序第一次移至Heroku,首先我将Ruby版本更新为2.4.1,我也将开发中的sqlite3移至:

Entity
@Table(name = "role")
public class Role {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;

@Column(name = "name")
private String name;


public Role() {
}

public Role(String name) {
    this.name = name;
}

public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

@Override
public String toString() {
    return "Role{" + "id=" + id + ", name='" + name + '\'' + '}';
}
}

现在我可以推送我的应用程序了,该应用程序无法启动,并且在运行heroku运行rails控制台时出现以下错误“ method_missing”:#(NoMethodError)的未定义方法“ has_one_attached”。有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:1)

您收到此错误,因为未在Heroku的生产环境中配置数据库。未配置数据库的原因是因为Heroku does not support sqlite3

您需要更改数据库以将postgresql用于生产,然后再次推送到heroku远程服务器。

有关如何操作的说明,请参见here