Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
508 views
in Technique[技术] by (71.8m points)

ruby on rails - Why can't show restaurant list?

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 #"

enter image description here

How can I do this problem? Thanks in advance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

Your restauration have multiple 'restaurant_translations'.

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


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...