রেল পরিবর্তন কিভাবে পরিবর্তনশীল পরিবর্তনশীল উপর দৃষ্টিভঙ্গি পরিবর্তন?

আমি এই ডোমেন অনুসন্ধান কর্ম আছে:

def domain
country_codes = ['.dk', '.com', '.eu', '.net', '.org', '.biz', '.info', '.nu', '.name', '.se', '.fi', '.net', '.de', '.it'] # etc. could move this to a config if needed
@domain = params[:domain]
@results = {}
country_codes.each do |cc|
  @results[cc] = Whois.whois(@domain + cc)
end
  render :layout => false
end

যদি params [: ডোমেইন] হয় "asdasdasd" বা "something" আমি ডিফল্ট ভিউ রেন্ডার করতে চাই।

কিন্তু যদি params [: ডোমেইন] উদাহরণটি "asdasd.dk" বা "asdasdasd.com" উদাহরণ হয় তবে আমি এই ক্রিয়াটি উপস্থাপন করতে চাই এবং ডোমেন প্যারামগুলিকে এই ক্রিয়াটিতে পাঠাতে চাই:

def domainname
@tld = "get the tld" 
country_codes = [@tld]
@results = Domains.order("#{@tld} ASC")
country_codes.each do |cc|
  @results[cc] = Whois.whois(@domain + cc)
end
  render :layout => false
end
0

2 উত্তর

আমি আগে_ফিল্টার লিখতে চেয়েছিলাম, কিন্তু চিন্তা করার পরে, এটি একটি কাজ করে আরও বেশি ড্রি হবে ...

def domain
  codes = get_tld(params[:domain]) || country_codes
  codes.each do |c|
    @results[c] = Whois.whois(@domain + c)
  end
    render :layout => false
  end
end

# return array with one element if matched, else nil
def get_tld(string)
  country_codes.each{|cc| return [cc] if string.end_with?(cc)}
  nil
end

#contry_codes should be defined somewhere else...

আমি বুঝতে পারছি না @results = Domains.order ("# {@ tld} ASC") অনুমিত হয়, তবে যদি আপনি প্যারামেলে tld হয় ক্ষেত্রে ফলাফলের সাথে কিছু করার প্রয়োজন হয়, আপনি সর্বদা কোড চেক করতে পারেন। আকার == 1

0
যোগ

পরমাণু উভয় কর্মে উপলব্ধ, আপনি দ্বিতীয় পদ্ধতিতে "পাঠাতে" তাদের প্রয়োজন হয় না; তারা ইতিমধ্যে আছে।

আপনার শর্ত পূরণ হলে কেবল দ্বিতীয় পদ্ধতিটি কল করুন, অন্যথায় আপনি যা করছেন তা করুন।

0
যোগ
আমি কিভাবে পরীক্ষা করব যে [[ডোমেইন] একটি টিএলডি আছে?
যোগ লেখক Rails beginner, উৎস
apidoc এ অ্যারে ডক্সগুলি দেখুন ; এটি করার উপায় একটি গুচ্ছ আছে। আপনার তালিকার তুলনায় অতিরিক্ত TLDs রয়েছে তা মনে রাখবেন; যে হতে পারে বা গুরুত্বপূর্ণ হতে পারে না।
যোগ লেখক Dave Newton, উৎস