我有以下效果很好:
@request_thread = current_user.request_threads.new(params[:request_thread])
我有这个效果很好:
@requestable = find_requestable
@request_thread = @requestable.request_threads.new(params[:request_thread])
但如果我尝试第二行:
@request_thread = @requestable.current_user.request_threads.new(params[:request_thread])
使用 current_user 我收到以下错误:
NoMethodError (undefined method `current_user' for #<Photo:0x10f95c828>):
app/controllers/request_threads_controller.rb:52:in `create'
app/middleware/flash_session_cookie_middleware.rb:14:in `call'
我在这里搞砸了什么?
谢谢
更新 - 使用 find_requestable
# http://asciicasts.com/episodes/154-polymorphic-association
def find_requestable
params.each do |name, value|
if name =~ /(.+)_id$/
return $1.classify.constantize.find(value)
end
end
nil
end