CDub 说的是对的。但是,您可以通过以下方式实现嵌套的 CRUD 资源:
用户 = 模型 1 帖子 = 模型 2
class user < ActiveRecord::Base
has_many :posts
end
class post < ActiveRecord::Base
belongs_to :user
end
在您的路线中,您可以这样做:
routes.rb
resources :users do
resources :posts
end
在您的帖子控制器中,您可以这样做:
class UsersController < ApplicationController
def new
@post = current_user.posts.new
end
def create
@post = current_user.posts.new(params[:post])
if @post.save
redirect_to user_posts_path(current_user, @post)
else
render :new
end
end
end
您可以通过执行以下操作触发此路线:
<%= link_to 'new post', new_user_post_path(current_user) %>
并编辑:
<%= link_to 'edit post', edit_user_post_path(current_user, @post) %>
结帐:嵌套资源 rails api