2012-07-29 108 views
2

我有兩個控制器,一個用於用戶,一個用於微博。Rails中的一個視圖中的兩個控制器

我想要做的,就是把放在同一視圖,用戶信息和微博形成。

問題是這個網頁的網址是www.mywebsite.com/users/18所以我只能訪問用戶控制器。

我試圖做的:

渲染:文件=> '/職位/新',但它不工作。

我發現的唯一解決方案是將所有東西都放在一個控制器上,但它會很混亂。

我真的想爲每一個單獨的控制器。

所以我不知道該怎麼做。任何想法?

回答

3

我想要做的,就是把同一視圖,用戶信息和微柱形成

我認爲您正在嘗試在usershow視圖內創建一個新的micropost。如果是這樣,你可以包括以下:

<%= form_tag(controller: :microposts, action: :create) do %> 
    ... 
<% end %> 

當您提交表單,它會調用在microposts控制器的動作create

0

你正在通過Hartl的教程?算了,反正你要做的就是初始化你在控制器動作視圖所需要的所有實例變量:

用戶/ 18可能是指向用戶#顯示,因此你需要添加類似

class UsersController < ApplicationController 
    ... 
    def show 
    @micropost = current_user.microposts.build 
    ... 
    end 
... 
end 
在控制器

/users_controller.rb(或一些適合您的模型)來初始化微後形成新的微柱,或者只是

@micropost = Micropost.new 

如果你沒有/需要關聯到用戶。 (邁克爾·哈特爾是做什麼的主頁上,雖然)。

相關問題