^ [[1; 31m。/app/views/sources/_form.html.erb:136 - 用局部变量替换实例变量^ [[0m ^ [[1; 31m./app/views/sources/_form.html.erb:138 - 用本地变量替换实例变量^ [[0m
这究竟是什么意思?什么是摆脱这种警告的程序?
<div id="book-container">
<label class="control-label" style="width: auto; font-weight:bold;">"selected books<span class="
red-star"> *</span></label>
<div "book-container">
<% if @chapter.nil? %>
<%= select_tag('book_ids',
options_for_select(@books.collect { |s| [s.name, s.id, {title: s.name}] }, params[:book_ids]),
{multiple: true, prompt: "hello:", style: "width: auto;",
data: {'multiselect-opts' => {height: '400px'}}}) %>
<% else %>
<% selected_books = @chapter.get_selected_books %>
<%= select_tag('book_ids',
options_for_select(@books.collect { |s| [s.name, s.id, {title: s.name}] }, selected_books),
{multiple: true, prompt: "Hello", style: "width: auto;",
data: {'multiselect-opts' => {height: '400px'}}}) %>
<% end %>
答案 0 :(得分:4)
如果您尝试在部分代码中使用此代码,请尝试将@placements
,@sites
和其他实例变量作为本地传递。
因此,当您渲染部分内容时,请执行以下操作:
<%= render :partial => "form", :locals => { :placement => @placement, :sites => @sites } %>
然后,不要使用@placement
,而是在部分中使用placement
,依此类推。
目的是使部分更可重复使用。
希望这会有所帮助!!