Попробуйте Server.UrlEncode()
, или System.Web.HttpUtility.UrlEncode()
для экземпляров, когда у Вас не будет доступа к эти Server
объект. Можно также использовать System.Uri.EscapeUriString()
, чтобы не добавлять ссылку на System.Web
блок.
Вы можете получить соединение с базой данных непосредственно из 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}
Если вы хотите создать классы (модели), которые не поддерживают базу данных, вам не нужно указывать, что они наследуются от ActiveRecord.
Сделайте
class RecentActivity
Вместо
class RecentActivity < ActiveRecord::Base
При этом все же может быть полезно получить дополнительную информацию о том, что вы пытаетесь сделать: например, если вы хотите иметь что-то вроде «комментариев» или «изображений» для нескольких разных вещей, таких как статья, чей-то профиль или блог в одном приложении, я бы рекомендовал проверить PolyMorphic Associates .