Rails中的一个视图中的两个控制器
问题描述:
我有两个控制器,一个用于用户,一个用于微博。Rails中的一个视图中的两个控制器
我想要做的,就是把放在同一视图,用户信息和微博形成。
问题是这个网页的网址是www.mywebsite.com/users/18所以我只能访问用户控制器。
我试图做的:
渲染:文件=> '/职位/新',但它不工作。
我发现的唯一解决方案是将所有东西都放在一个控制器上,但它会很混乱。
我真的想为每一个单独的控制器。
所以我不知道该怎么做。任何想法?
答
我想要做的,就是把同一视图,用户信息和微柱形成
我认为您正在尝试在user
show
视图内创建一个新的micropost
。如果是这样,你可以包括以下:
<%= form_tag(controller: :microposts, action: :create) do %>
...
<% end %>
当您提交表单,它会调用在microposts
控制器的动作create
。
答
你正在通过Hartl的教程?算了,反正你要做的就是初始化你在控制器动作视图所需要的所有实例变量:
用户/ 18可能是指向用户#显示,因此你需要添加类似
class UsersController < ApplicationController
...
def show
@micropost = current_user.microposts.build
...
end
...
end
在控制器
/users_controller.rb(或一些适合您的模型)来初始化微后形成新的微柱,或者只是
@micropost = Micropost.new
如果你没有/需要关联到用户。 (迈克尔·哈特尔是做什么的主页上,虽然)。