我有一个代码视图:
<section>
<h1>
<%= render @client %>
</h1>
<h2>
<%= render @client.telnumbers %>
</h2>
<h3>
<%= link_to 'New Tel', new_telnumber_path, :locals => { :client => @client }, :remote => true %>
</h3>
</section>
但是在我的 Telnumbers 控制器中 - 变量 @client - nil 我可以看到我的 @client 什么?
我的电话号码控制器:
class TelnumbersController < ApplicationController
def new
@telnumber = Telnumber.new
@telnumber.client_id = @client.id
end
def create
@telnumber = Telnumber.new(params[:telnumber])
render :action => :new unless @telnumber.save
end
end
所以我有 Error Called id for nil ...
我通过将变量添加到 new_telnumber_path 来解决它
<%= link_to '新电话', new_telnumber_path(:client_id => @client.id ), :remote => true, :class => 'btn btn-small' %>
在控制器中:
def new
@telnumber = Telnumber.new
@client = Client.find(params[:client_id])
@telnumber.client_id = @client.id
end
谢谢!