我想在一个以上的变量传递到渲染声明将呈现_form部分,采用内作出以下几点:模态 - 如何正确的变量传递给JavaScript
$(document).ready(function() {
$('#contact_modal').click(function(event){
$("#modal-window").html("<%= escape_javascript(render 'contacts/form', new_contact: Contact.new) %>");
我试过路过在两个变量中通过执行以下操作:
new_contact: @contact, new_case: @case
但它似乎没有识别new_contact和new_case变量。我如何传递他们,然后在simple_form_for中使用它们?
编辑: 我无法得到它与以下设置(情况的has_many触点)工作:
的routes.rb
resources :contacts
resources :cases do
resources :contacts, :shallow => true
end
contacts_controller.rb
def new
if params[:case_id]
@case = Case.find(params[:case_id])
@contact = @case.contacts.build
@create_case_contacts_array = [@case, @contact]
else
@contact = Contact.new
@create_case_contacts_array = @contact
end
end
def create
if params[:case_id]
@case = Case.find(params[:case_id])
@contact = @case.contacts.build(params[:contact])
else
@contact = Contact.new(contact_params)
end
@contact.user = @user
...
end
指数.html.erb(其中模态被调用)
$("#modal-window").html("<%= escape_javascript(render :partial => "contacts/form", :locals => { :new_case => @case, :new_contact => @contact}) %>");
_form.html.erb
<%= simple_form_for(new_case, new_contact) do |f| %>
.
.
.
<%= f.button :submit %>
为什么没有我的情况下/ 1 /联系人页面呈现(联系人的指数)?我究竟做错了什么?它与我在渲染模态的index.html.erb行有关。我收到以下错误:
undefined method `model_name' for NilClass:Class