Why can't show restaurant list?

喜欢而已 提交于 2020-01-09 12:05:10

问题


I'm trying to make some restaurant list. I associated two tables, and then write this code.

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 thead tr th Type th Name th Url th Genre th 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

But results are belows. "undefined method `restaurantname' for #"

How can I do this problem? Thanks in advance.


回答1:


Your restauration have multiple 'restaurant_translations'.

Example, for first you can write td = restaurant.restaurant_translations.first.try(:restaurantname)




回答2:


replace

 td = restaurant.restaurant_translations.restaurantname

with

td = restaurant.restaurant_translations.first.restaurantname

this will help you




回答3:


because Restaurent has_many :restaurant_translations so you need to loop through

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


来源:https://stackoverflow.com/questions/37699092/why-cant-show-restaurant-list

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!