2012-08-02 138 views
0

在這裏,我有以下型號將不會顯示任何表單?

客戶 書 Book_Manager

我協會均已遵循

BookManager 
belongs_to :customer 
Customer 
has_many :book_managers, :dependent => :destroy 

本書是不是在這個階段

這需要是基於從Railscasts嵌套模型形式,但我似乎無法明白爲什麼它不起作用。應用程序應該有效遵循

客戶進入客戶#編輯,然後查看BookManagers(最後創建的)(如果有)。如果沒有,那麼只需看到空白和一個表格,以允許他創建一個新的book_manager,將來將有一本書相關聯。但我不在這個階段。

在這裏,客戶控制器

def edit 
    @customer = Customer.find(params[:id]) 
    @bookmanager = BookManager.first_or_create 
end 

渲染文件他已經跟隨

<h3>Book</h3> 
<div><%= render 'book_managers/form' %></div> 

在這裏,在book_managers的_form.html.erb文件

<% form_for (@bookmanager) do |f| %> 
    <div class="field"> 
    <%= f.label :customer_id %><br /> 
    <%= f.text_field :customer_id %> 
    </div> 
    <div class="actions"> 
    <%= f.submit %> 
    </div> 
<% end %> 

我知道它得到渲染好吧,如果我把廢話放在裏面,我會在窗體外看到它們。但我不知道是否BookManager的居然是空的,零或正確設置

+0

http://stackoverflow.com/questions/6189728/render-form-partial-in-a-different-controller-not-nested – 2012-08-02 14:55:24

回答

0

變化<% form_for (@bookmanager) do |f| %>

的Rails 3:

<%= form_for (@bookmanager) do |f| %> 

梁2:

<%- form_for (@bookmanager) do |f| %> 

您需要一個-(Rails 2)或=(Rails 3)之後的<%

+0

感謝它的工作原理,對我的控制器來說最好的方法是什麼? – Jseb 2012-08-02 14:58:55

+0

不客氣。請接受答案! – Zabba 2012-08-02 14:59:48

+0

不能早到我能接受它 – Jseb 2012-08-02 15:01:09