আপনি অ্যাক্টিভেকর্ড 3.2 এর জন্য অ্যামিবা রত্নটিও পছন্দ করতে পারেন ।
আপনার যদি, আপনি সম্ভবত ব্যবহার করতে চাই nullify
, regex
বা prefix
কনফিগারেশন ডিএসএল পাওয়া অপশন।
এটা সহজ এবং স্বয়ংক্রিয় রিকার্সিভ অনুলিপি সমর্থন has_one
, has_many
এবং has_and_belongs_to_many
সমিতি, ক্ষেত্র প্রাক-প্রক্রিয়াকরণ ও একটি অত্যন্ত নমনীয় ও শক্তিশালী কনফিগারেশন ডিএসএল উভয় মডেল প্রয়োজন এবং মাছি উপর প্রয়োগ করা যেতে পারে।
অ্যামিবা ডকুমেন্টেশন যাচাই করে নেওয়ার বিষয়টি নিশ্চিত হন তবে ব্যবহার বেশ সহজ ...
মাত্র
gem install amoeba
বা যোগ করুন
gem 'amoeba'
আপনার গেমফিল
তারপরে আপনার মডেলটিতে অ্যামিবা ব্লক যুক্ত করুন এবং dup
যথারীতি পদ্ধতিটি চালান
class Post < ActiveRecord::Base
has_many :comments
has_and_belongs_to_many :tags
amoeba do
enable
end
end
class Comment < ActiveRecord::Base
belongs_to :post
end
class Tag < ActiveRecord::Base
has_and_belongs_to_many :posts
end
class PostsController < ActionController
def some_method
my_post = Post.find(params[:id])
new_post = my_post.dup
new_post.save
end
end
আপনি কোন ক্ষেত্রটি বিভিন্ন উপায়ে অনুলিপি করতে পারেন তা নিয়ন্ত্রণ করতে পারেন তবে উদাহরণস্বরূপ, আপনি যদি মন্তব্যগুলি নকল হতে বাধা দিতে চান তবে আপনি একই ট্যাগগুলি বজায় রাখতে চান তবে আপনি এরকম কিছু করতে পারেন:
class Post < ActiveRecord::Base
has_many :comments
has_and_belongs_to_many :tags
amoeba do
exclude_field :comments
end
end
আপনি উভয় উপসর্গ এবং প্রত্যয় পাশাপাশি regexes সঙ্গে স্বতন্ত্রতা নির্দেশ করতে সহায়তা করতে ক্ষেত্রগুলি প্রিপ্রসেস করতে পারেন। এছাড়াও, এখানে আরও অনেকগুলি বিকল্প রয়েছে যাতে আপনি আপনার উদ্দেশ্যটির জন্য সর্বাধিক পঠনযোগ্য স্টাইলে লিখতে পারেন:
class Post < ActiveRecord::Base
has_many :comments
has_and_belongs_to_many :tags
amoeba do
include_field :tags
prepend :title => "Copy of "
append :contents => " (copied version)"
regex :contents => {:replace => /dog/, :with => "cat"}
end
end
সমিতির পুনরাবৃত্তি অনুলিপি সহজ, কেবল শিশু মডেলগুলিতে অ্যামিবা সক্ষম করুন
class Post < ActiveRecord::Base
has_many :comments
amoeba do
enable
end
end
class Comment < ActiveRecord::Base
belongs_to :post
has_many :ratings
amoeba do
enable
end
end
class Rating < ActiveRecord::Base
belongs_to :comment
end
কনফিগারেশন ডিএসএলে আরও আরও বিকল্প রয়েছে, তাই ডকুমেন্টেশন পরীক্ষা করে দেখতে ভুলবেন না।
উপভোগ করুন! :)
q = p.clone
, এবং তারপরp == q
, আমিtrue
ফিরে পেতে । অন্যদিকেq = p.dup
, আমি যদি ব্যবহার করি তবেfalse
তাদের তুলনা করার সময় আমি ফিরে আসি।