2013-01-11 56 views
0

對不起,因爲我不太瞭解Ruby,所以我不確定具體問題是什麼。無論如何,解決問題!將渲染中的變量轉移到HTML中

所以我有一個渲染:

<div class="form" id="dept_div"> 
    <span class="label search_label">Department:</span> 
      <% query = "<option></option>" %> 
      <% Department.all.each do |d| %> 
       <% query << "<option>"+d.dept+"</option>" %> 
      <% end %> 

      <%=select_tag :major, query.html_safe, class: "search_tag", id: "dept_drop" %> 
</div> 

那我嘗試在這裏插上:

<span class="su_label"> 
    <%= f.label :major %> 
</span> 
<% if !in_mobile_view? %> 
    <div class = "su_textfield"> 
    <div class="checkbox"> 
    <% else %> 
     <div data-role="fieldcontain" class="field_group"> 
     <fieldset data-role="controlgroup" data-type="horizontal"> 
     <% end %> 
     <!-- check privacy preferences to decide whether box should already be checked --> 
     <% if !hasnoprefs && @user.privacy_prefs.include?("nomajor") %> 
      <%= check_box_tag "major", 1, true %> 
     <% else %> 
      <%= check_box_tag "major" %> 
     <% end %> 
     <%= label_tag 'major', 'Hide' %> 
     <% if !in_mobile_view? %> 
     </div> 
     <%= render 'courses/form_partials/majors' %> 
</div> 
    <% else %> 
     <%= f.text_field :major, class: "settings_inputfield" %> 
    </fieldset> 

我要的是變量主要(這在類用戶)成爲從渲染中選擇的項目(這是一個下拉菜單)。有任何想法嗎?

回答

0

嘗試...

<%= f.collection_select :major, query, :id, :major, {:include_blank => 'None' } %> 
+0

它說'未定義的方法'圖」爲#<字符串:0x00000003cdd770>' 這是什麼意思? – EML

+0

用'query.html_safe'替換'query' <%= f.collection_select:major,query.html_safe,:id,:major,{:include_blank =>'None'}%> –

+0

我確實:/相同回答 – EML