如何在没有型号名称的帮助下访问数据库表?
例如,如果我们有模型(Post model),
@instance_var=Post.find(params[:id])
如何访问没有模型的数据库表?
答案 0 :(得分:2)
在Rails中为表创建模型没有任何害处。但是,如果您希望避免使用它,则可以使用原始SQL查询。
sql = "SELECT * from posts where id = #{params[:id}"
result = ActiveRecord::Base.connection.execute(sql)
result.to_a
答案 1 :(得分:2)
2.8 Choosing Between has_many :through and has_and_belongs_to_many
最简单的经验法则是如果您需要将关系模型作为独立实体,则应设置has_many:through关系。如果您不需要对关系模型执行任何操作,则设置has_and_belongs_to_many关系可能更简单(尽管您需要记住在数据库中创建连接表)。
如果您需要在连接模型上进行验证,回调或额外属性,则应使用has_many:through。
如果您使用Ruby on Rails而不是SQL,那么您可以与大多数数据库postgresql,mysql,sqlite等兼容...
您可以轻松地从mysql迁移到postgresql,或者反之亦然。
答案 2 :(得分:0)
您需要运行RAW SQL查询:
sql = "SELECT * from posts WHERE id = 10"
result = ActiveRecord::Base.connection.execute(sql)
result.to_a
你也可以check this。