【问题标题】:Ruby on Rails 3, Passing Params?Ruby on Rails 3,传递参数?
【发布时间】:2011-08-05 03:54:18
【问题描述】:

我目前正在尝试获取用户在我的 Ruby on Rails 应用程序中创建的所有事件。

Rails 版本 = 3.0.9 Ruby 版本 = 1.9.2

User has_many :events
Event belongs_to :user

admin_controller.rb:(用于显示应用的管理部分)

class AdminController < ApplicationController

  load_and_authorize_resource

  def index
    @topuploaders = User.find(:all, :include => :events).sort_by { |u| -u.events.count }.first(5)
    @topflyers = Event.all(:limit =>10, :order => 'viewcount DESC')
  end

  def users
    @users = User.all
  end

  def flyers
    @events = Event.all
  end

  def get_flyers
    @user = User.find(params[:id])
  end

end

users 函数按名称查找并显示所有用户。 我被困在如何创建一个指向显示用户创建的所有事件的页面的链接。

我尝试使用:

def get_flyers
        @user = User.find(params[:id])
end

然后在视图中显示传单的名称,但这不起作用。

任何建议将不胜感激。 我很新,所以我不确定我是否提供了足够的细节,所以请多多包涵。

提前谢谢你。

【问题讨论】:

    标签: ruby ruby-on-rails-3 sqlite hash


    【解决方案1】:

    只需将get_flyers 函数修改为

    @flyers=User.find(params[:id]).events

    然后,@flyers 将包含该用户的一系列事件,您可以从视图中显示这些事件。

    【讨论】:

    • 我如何从包含用户列表的视图链接到这个?
    • 您必须将此功能放在app/helpers/application_helper.rb,然后您可以从任何视图访问它。
    • 我已经尝试过了,但我收到一条错误消息,提示“找不到没有 ID 的用户”。
    • 我收到一条错误消息“找不到没有 ID 的用户”。我正在使用以下代码链接到该函数:
    • @Ammar:你应该接受这个答案并发布另一个问题:一次一个问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-21
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    相关资源
    最近更新 更多