首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未定义的方法rails 4

未定义的方法rails 4
EN

Stack Overflow用户
提问于 2016-02-26 00:29:44
回答 2查看 34关注 0票数 1

为什么每当我使用这段代码时,都会得到一个未定义的方法错误:

<%= @user_infos.website %>

但是当我使用each循环的时候呢?

代码语言:javascript
复制
<% @user_infos.each do |user| %>
   <%= user.website %>
<% end %>

UserInfos控制器:

代码语言:javascript
复制
class UserInfosController < ApplicationController
  before_action :set_user_info, only: [:show, :edit, :update, :destroy]

  respond_to :html

  def index
    @user_infos = UserInfo.all
    respond_with(@user_infos)
  end

  def show
    respond_with(@user_info)
  end

  def new
    @user_info = current_user.user_infos.build
    redirect_to :back
  end

  def edit
  end

  def create
    @user_info = current_user.user_infos.build(user_info_params)
    @user_info.save
    redirect_to :back
  end

  def update
    @user_info.update(user_info_params)
    respond_with(@user_info)
  end

  def destroy
    @user_info.destroy
    respond_with(@user_info)
  end

  private
    def set_user_info
      @user_info = UserInfo.find(params[:id])
    end

    def user_info_params
      params.require(:user_info).permit(:website, :location)
    end
end

家庭控制器:

代码语言:javascript
复制
class HomeController < ApplicationController
  def index
    @questions = Question.all.order("created_at desc")
  end

  def profile
    @user = User.find(params[:id])
    @answer = Answer.all.order("created_at")
    @questions = Question.all.order("created_at")
    @user_info = UserInfo.new
    @user_infos = UserInfo.all.order("created_at desc")
  end
end

我的意图不是循环,而只是简单地在纵断面图中显示用户的信息。循环会导致重复段落,这肯定不是我想要的。

EN

回答 2

Stack Overflow用户

发布于 2016-02-26 00:36:02

@user_infos是记录的集合,而不是单个记录。所以你不能使用<%= @user_infos.website %>,因为它会给你undefined method错误。

票数 1
EN

Stack Overflow用户

发布于 2016-02-26 00:38:10

代码语言:javascript
复制
@user_infos = UserInfo.all.order("created_at desc")

为您提供所有UserInfo,因此您不能使用

代码语言:javascript
复制
<%= @user_infos.website %>

如果你反对自己编写一个循环,你可以使用map将所有的网站放入一个数组中

代码语言:javascript
复制
<%= @user_infos.map(&:website) %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35632969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档