de desgracia marmota la respuesta puede no ser adecuada en muchos casos. Por ejemplo, no funciona en ambos sentidos. Por ejemplo, supongamos que crea una nueva palabra:
word = Word.create(:word_name => 'tremble')
['shake', 'vibrate'].each { |syn| word.synonyms.create(:word_name => syn) }
Ahora, si lo hace:
word = Word.find_by_word_name('tremble')
p word.synonyms # this would print out the Words with the word_name 'shake' and 'vibrate'.
sin embargo, si lo hizo a la inversa:
word = Word.find_by_word_name('vibrate')
p word.synonyms # this would print an empty association.
Este está diciendo que la palabra 'vibrar' no tiene sinónimos.
Así que, básicamente, este método no funcionará en ambas direcciones (es decir, vibran es sinónimo de temblar, temblar y es sinónimo de vibración)
Editar: En un sentido, se podría utilizar este enfoque, sin embargo, Tendría que asignar explícitamente los sinónimos para cada palabra. Entonces, aunque haya especificado sinónimos de temblar (que son 'vibrar' y 'sacudir'), aún debe especificar los sinónimos de 'sacudir' ('que son' temblar 'y' vibrar ') y' vibrar '(que son' tiembla "y tiembla") también.
¿Puede darnos un ejemplo concreto? ¿Es esto como un humano que tiene un padre (que obviamente también es humano)? ¿O quieres decir "Car.all.green" para devolver todos los autos ecológicos? –
Sí, es como la persona tiene muchos amigos (personas) – awex