【问题标题】:Rails accessing parent model IDRails 访问父模型 ID
【发布时间】:2013-07-14 09:16:15
【问题描述】:

我有以下型号: - 用户 - 清单 - 审查

用户可以有很多列表,用户可以有很多评论。

它们是这样嵌套的:

  resources :users do
      resource :listings
      resource :reviews
  end

我正在尝试创建一个创建新评论的表单。我的评论页面位于:

http://localhost:3000/users/1/reviews/new

我想为用户 #1 创建新评论。

我需要做的就是将 :id(在这种情况下为#1)放入我的控制器中,但我不确定如何操作。目前我的reviews_controller.rb 是空白的,如下:

class ReviewsController < ApplicationController

  def new
  end

end

我不确定新函数中需要包含什么来获取当前页面的 :id。

【问题讨论】:

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


    【解决方案1】:

    你的意思是获取当前用户? 你可以这样做来获取用户

    user_id = params[:user_id] # this will be 1 in this case
    # then you can get the user
    user = User.find_by_id(user_id)
    

    如果你总是想获取用户,可以使用before_action(or before_filter in Rails3),像这样:

    class ReviewsController < ApplicationController
      before_action :prepare_user
    
      def new
        # now you can use @user
      end
    
      private
      def prepare_user
        @user = User.find_by_id(params[:user_id])
      end
    
    end
    

    【讨论】:

    • 谢谢!我想太多了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2013-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多