Rails:在视图中显示来自不同模型的表单

时间:2011-08-25 10:43:50

标签: ruby-on-rails ruby-on-rails-3 partial

我有location模型和post模型。我想允许用户从posts模型的index页面创建新的location。我怎么做?我尝试将post new.html.erb作为location index.html.erb中的部分内容进行渲染,但这会导致错误post new.html.erb引用{{1}变量。

我该如何做到这一点?

3 个答案:

答案 0 :(得分:16)

尝试这样的事情

LocationController

def index
  @location = Location.find(:all)
  @post = Post.new
end

现在,您的位置视图可以访问实例变量@post。使用

渲染部分
render :partial => 'posts/post', :object => @post

答案 1 :(得分:3)

您可以像这样开始表单:

<%= form_for Post.new do ... %>

答案 2 :(得分:0)

只需在LocationsController中的动作中创建一个@post变量。