Rails:从视图中的不同模型中显示表格

问题描述:

我有一个location模型和一个post模型。我希望允许用户从location模型的index页面创建新的posts。我怎么做?我试图将postnew.html.erb作为locationindex.html.erb中的一部分进行渲染,但这会导致错误,因为postnew.html.erb引用了@post变量。Rails:从视图中的不同模型中显示表格

我该如何做到这一点?

尝试是这样的

LocationController 

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

现在乌尔位置视图将有机会获得实例变量@post。使用

render :partial => 'posts/post', :object => @post 
+0

+1,..或者类似于Allesklar提出的方式:使用Post.new而不是变量,但这取决于视图:变量可能在那里被'硬编码'。 – Arsen7

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

+0

这给了我这个错误渲染的部分:'预计/home/eyekandy/rails_apps/eyekandy/app/controllers/locations_controller.rb定义LocationsController' –

+0

然后你有**语法错误**在你的代码中。你能展示你的行为代码吗?我假设你只编辑了动作,但错误可能在其他地方 - 也许你不小心删除了一些字符? – Arsen7

可以启动形式是这样的:

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