Ruby on rails 由Rails中的用户发布到组页面
我有一个群组模型,在这个模型中,我希望用户能够发表文章。每篇文章都属于该特定组以及发表该文章的用户(稍后,每篇文章都会有评论)。我想我应该选择rails教程的microposts部分,然后调整它以适应我的模型(www.railstutorial.org/book/user\u microposts) 现在,表单partial在group#show页面上可见,但是如果不提供group.id,我无法在posts#u控制器中生成帖子,在create操作中添加@group=group.find(params[:id])是不起作用的,我不确定如何从一个组构建帖子列表 posts\u controller.rbRuby on rails 由Rails中的用户发布到组页面,ruby-on-rails,Ruby On Rails,我有一个群组模型,在这个模型中,我希望用户能够发表文章。每篇文章都属于该特定组以及发表该文章的用户(稍后,每篇文章都会有评论)。我想我应该选择rails教程的microposts部分,然后调整它以适应我的模型(www.railstutorial.org/book/user\u microposts) 现在,表单partial在group#show页面上可见,但是如果不提供group.id,我无法在posts#u控制器中生成帖子,在create操作中添加@group=group.find(para
def create
@post = @group.posts.build(post_params) #Find way to provide group id
@post.user_id = current_user.id
if @post.save
flash[:success] = "Post created!"
redirect_to root_url
else
redirect_to root_url
end
end
def destroy
end
private
def post_params
params.require(:post).permit(:body, :user_id, :group_id)
end
def show
@group = Group.find(params[:id])
@post = @group.posts.build
end
rb(与其他模型相比有很多:posts)
团体秀上的post#u表单
routes.rb
resources :groups do
resources :follows, :only => [:create, :destroy]
end
resources :posts, :only => [:create, :destroy]
我确实认为可能:post需要嵌套在:groups资源中?这提供了一个“未定义的方法‘posts_path’”。您可以在组中嵌套posts,如下所示:
resources :groups do
...
resources :posts, only: [:create, :destroy]
end
运行“rake routes”查看您的路由如何命名。您的表单必须包含对组的引用,即
form_for [@group, @post] do
...
end
组id将作为params[:Group_id]在params散列中可用
还可以查看您可以在组中嵌套帖子,如下所示:
resources :groups do
...
resources :posts, only: [:create, :destroy]
end
运行“rake routes”查看您的路由如何命名。您的表单必须包含对组的引用,即
form_for [@group, @post] do
...
end
组id将作为params[:Group_id]在params散列中可用
也请查看