我正在使用public_activity宝石。要使用gem,您不需要为它创建活动控制器。所以我没有。但是,我确实有一个评论控制器。我想为评论的创建操作提供以下url帮助:
public_activity_activity_comments_path(@activity)
我在路线上尝试过两件事但两件都失败了。首先,我尝试使用命名空间路由:
namespace :public_activity do
resources :activity do
resources :comments
end
end
这会产生错误:
ActionController::RoutingError - uninitialized constant PublicActivity::CommentsController:
由于我没有PublicActivity :: Activities控制器,所以我尝试了这个:
get '/public_activity/activity/:activity_id/comments/new', to: 'comments#new'
post '/public_activity/activity/:activity_id/comments', to: 'comments#create'
然而,这似乎根本没有产生任何url助手,因为它给我以下错误:
NoMethodError - undefined method `public_activity_activity_comments_path' for #<#<Class:0x007f868e1b7760>:0x007f868e1afd58>:
我之所以想要这样的路线是因为在我的评论视图中,可评论的可以是任何模型,所以我更喜欢有多态形式:
<%= form_for [commentable, Comment.new] do |f| %>
...
我运气不好吗?我是否必须为form_for核心网址?
答案 0 :(得分:0)
恕我直言,您只需要使用您的多态关联和表单,Public_Activity
将记录您正确配置任何模型的活动。