Rails 求助:如何把 view 的变量传递给局部模板?locals 总出错。。

mayday · 2012年12月13日 · 最后由 mayday 回复于 2012年12月13日 · 2368 次阅读

View 的代码:

<% @albums.each do |album| %>
  <p><%= album.description %></p>
  #把album传递给a
  <%= render 'photos/form', :locals => {:a => album} %>
<% end %>

在_form.html.erb 中调用 a

<%= form_for @photo, :url => user_album_photos_path(current_user, a) do |f| %>
  <%= f.label :title %>
<% end %>

出错 undefined local variable or method `a' for #<#Class:0xa19e204:0xb042f148>

为什么,有点不理解 render 的 locals 的意思了。。。

render :partial => 'photos/form', :locals => {:a => album}

<%= render :partial => 'photos/form', :locals => {:a => album} %> 或者 <%= render 'photos/form', :a => album %>

@zgm @kenshin54 已解决,前面必须加上:partial 啊,谢谢了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号