我有以下型号: - 用户 - 清单 - 审核
用户可以拥有多个商家信息,用户可以拥有多条评论。
它们嵌套如下:
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。
答案 0 :(得分: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