@items.first.vender.name
- это правильный способ сделать это, то, что вы видите, это не ID, а объект. Когда вы пытаетесь распечатать объект в Rails, он выводит тип объекта и адрес объекта в памяти, разделенные двоеточием.
Использование блока, которым вы ничего не возвращаете, он просто делает то, что у вас есть внутри {} объекта, поэтому вы вызываете метод .name, но блок ничего не возвращает.
@items.first.vender.name возвращает имя первого продавца