为什么不能显示餐厅列表?

Why can't show restaurant list?

我正在尝试制作一些餐厅列表。 我关联了两个table,然后写这段代码

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 table 头 特 第类型 名字 第 Url 流派 第一个地址

  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

但结果如下。 "undefined method `restaurantname' for #"

这个问题我该怎么办?提前致谢。

您的餐厅有多个 'restaurant_translations'。

例如,首先你可以写td = restaurant.restaurant_translations.first.try(:restaurantname)

替换

 td = restaurant.restaurant_translations.restaurantname

td = restaurant.restaurant_translations.first.restaurantname

这对你有帮助

因为餐厅 has_many :restaurant_translations 所以你需要遍历

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