Пользовательский SQL-запрос без Соответствующей Таблицы

Попробуйте Server.UrlEncode(), или System.Web.HttpUtility.UrlEncode() для экземпляров, когда у Вас не будет доступа к эти Server объект. Можно также использовать System.Uri.EscapeUriString(), чтобы не добавлять ссылку на System.Web блок.

16
задан collimarco 16 August 2009 в 18:51
поделиться

2 ответа

Вы можете получить соединение с базой данных непосредственно из ActiveRecord :: Base, но это не так полезно, как расширение AR :: Base, потому что полезные методы, такие как sanitize_sql, защищены.

class ComplexQueries < ActiveRecord::Base
  def self.my_query
    # Notice how you can, and should, still sanitize params here. 
    self.connection.execute(sanitize_sql(["select * from foo limit ?", 10]))
  end
end

results = ComplexQueries.my_query
results.each_hash{|h| puts h.inspect}
36
ответ дан 30 November 2019 в 16:09
поделиться

Если вы хотите создать классы (модели), которые не поддерживают базу данных, вам не нужно указывать, что они наследуются от ActiveRecord.

Сделайте

class RecentActivity

Вместо

class RecentActivity < ActiveRecord::Base

При этом все же может быть полезно получить дополнительную информацию о том, что вы пытаетесь сделать: например, если вы хотите иметь что-то вроде «комментариев» или «изображений» для нескольких разных вещей, таких как статья, чей-то профиль или блог в одном приложении, я бы рекомендовал проверить PolyMorphic Associates .

0
ответ дан 30 November 2019 в 16:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: