2016-06-08 8 views
-1

Я пытаюсь составить список ресторанов. Я связал две таблицы, а затем напишу этот код.Почему вы не можете показать список ресторанов?

class Restaurant < ActiveRecord::Base 
     has_many :restaurant_translations 
end 

class RestaurantTranslation < ActiveRecord::Base 
     self.table_name = 'restaurant_translations' 
end 

restaurant_controller.rb

class RestaurantController < ApplicationController 
     def list 
       @restaurants = Restaurant.all 
logger.debug @restaurants 
     end 
end 

list.html.slim стол THEAD тр го типа -й Название й Url й жанр й Addr

tbody 
    - @restaurants.each do |restaurant| 
     tr 
     td = restaurant.restaurant_type 
     td = restaurant.restaurant_translations.restaurantname 
     td = link_to 'here', restaurant.url 
     td = restaurant.genre 
     td = restaurant.restaurant_translations.address 

Но результаты - это слава. "неопределенный метод` restaurantname»для #"

enter image description here

Как я могу сделать эту проблему? Заранее спасибо.

+1

поле restaurantname, в котором таблица restaurant_translations или ресторан – Sunny

+0

restaurantname принадлежится к restaurant_translations. –

ответ

2

В вашем ресторане есть несколько 'restaurant_translations'.

Пример для первых вы можете написать td = restaurant.restaurant_translations.first.try(:restaurantname)

+0

Спасибо большое! Он работает: D –

1

заменить

td = restaurant.restaurant_translations.restaurantname 

с

td = restaurant.restaurant_translations.first.restaurantname 

это поможет вам

+0

Спасибо! Это было полезно. –

+0

Если это полезно, пожалуйста, ответьте и ответьте: -) –

-1

потому Restaurent has_many: restaurant_translations так что вам нужно петля через

restaurant.restaurant_translations.each do|res_trans| 
your code here 
end 
+0

Это не работает. Может быть, нужно сделать внутреннюю петлю? –

+0

, если вы хотите показать весь цикл restaurent_translations, необходимо –

+0

показать мне свой код это правильно –

Смежные вопросы