Rails:不能将变量传递给partial,我做错了什么?

时间:2014-06-29 22:28:49

标签: ruby-on-rails ruby ruby-on-rails-4 parameter-passing partials

我尝试了几种不同的方法来定义局部变量并将局部变量传递给局部变量,但它一直说它未定义:

显示文件中的

<% @startups.each do |startup| %>
  <%= render :partial => "profile/startup" %>
<% end %>

部分:

<%= simple_form_for [@commentable, @comment], :remote => true do |form| %>
  <%= form.input :content, label: false, :input_html => { :id => "#{startup.user_id}" } %>
  <%= form.submit "Submit" %>
<% end %>

这些是我尝试传递变量的其他方式,但仍然未定义:

<%= render :partial => "user_comments/uac",  object: startup, as: startup %>
<%= render :partial => "user_comments/uac",  collection: startup, as: startup %>
<%= render :partial => "user_comments/uac", :locals => {:startup => startup} %>

1 个答案:

答案 0 :(得分:6)

摆脱:partial。你还没有在Rails中需要多个版本。

将名为startup的本地传递给部分的正确方法是:

render "profile/startup", startup: startup