یک مدل ActiveRecord به نام Post ایجاد کنید که فیلدهای title:string و body:text داشته باشد، اعتبارسنجی presence برای title و حداقل طول ۱۰ برای body اضافه کنید، سپس سه رکورد نمونه بسازید و یک کوئری ActiveRecord بنویسید که تمام پستهایی را بازگرداند که عنوانشان شامل کلمه "Rails" است.
2.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:27 0.0
با استفاده از Rails یا ActiveRecord مستقیم، یک مایگریشن بسازید (rails generate model Post title:string body:text) و rails db:migrate را اجرا کنید؛ سپس در فایل مدل app/models/post.rb اعتبارسنجیها را اضافه کنید: validates :title, presence: true و validates :body, length: { minimum: 10 }. برای درج رکوردها از Post.create! یا از seeds.rb استفاده کنید تا خطاها را ببینید. برای کوئری از متد where با LIKE استفاده کنید، مثلاً Post.where("title LIKE ?", "%Rails%") یا از Arel برای ایمنتر کردن کوئریها بهره ببرید؛ برای تست کار در کنسول rails console را باز کنید و نتایج را بررسی کنید.
1 پاسخ
جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من
در حال بارگیری...
برای ارسال پاسخ باید با حساب کاربری وارد شوید.
ورود به حساب کاربری
برای پیادهسازی سریع، مایگریشن و مدل Post را با validations برای title (presence) و body (length minimum: 10) اضافه کنید و سه رکورد نمونه را با seeds یا در Rails console ایجاد کنید. برای کوئری، از Post.where("title LIKE ?", "%Rails%") استفاده کنید یا با کمک Arel کوئری ایمنتری بسازید تا کلمه Rails در عنوان یافت شود. برای بهبود کارایی، اضافه کردن ایندکس روی ستون title یا استفاده از جستوجوی متن کامل میتواند مفید باشد. نتایج را در Rails console بررسی کنید و در صورت نیاز با rails db:seed یا rails db:reset دادهها را دوبارهپیکربندی کنید.
گزارش