javascript
  • jquery
  • ruby-on-rails
  • forms
  • 2012-02-12 56 views 0 likes 
    0

    我想一個形式附加到一個div標籤追加形式使用jQuery在Rails的

    $('#courses_ajax').html('<h1>Materie: <%= @course.name %></h1>'); 
    msg = "<form accept-charset='UTF-8' action='/add_by_course' class='form-horizontal' data-remote='true' id='add_by_courses_id' method='post'>"; 
    msg += "<table class='table table-condensed table-bordered'>"; 
    msg +="<th>Nume Elev</th><th>Nota</th><th>Absente</th>"; 
    <% @students.each do |student|%> 
        msg +="<tr><td><%= student.name%></td>"; 
        msg +="<td><input class='span2' id='course_grade' name='grade[student_id]' size='30' type='number' min=1 max=10 /></td>"; 
        msg +="<td><input class='span2' id='course_absence' name='absence[student_id]' size='30' type='datetime' /></td>"; 
        msg +="</tr>"; 
    <%end%> 
    msg +="</table><input class='btn-primary' name='commit' type='submit' value='Salveaza' />"; 
    msg +="</form>"; 
    $('#courses_ajax').append(msg); 
    

    所有的helper方法似乎並不在js.erb文件的工作,有沒有更好的更清潔這樣做的方式,也許我失去了一些東西。

    回答

    6

    看來這裏最好使用偏分量。創建一個部分,並把HTML和助手那裏。然後放入你js.erb文件:

    $('#courses_ajax').append("<%= escape_javascript(
    render :partial => "your_partial", :object => your_varable, 
    :locals => {:your_other_var => value, ...} %>"); 
    
    2

    渲染的部分與純HTML內容解決它 但我建議你讓軌道使它喜歡:

    <%= form_for(@xxxx) ... %> ... "html here" ... <%end%> 
    

    因爲這將保護你來自CSRF攻擊產生的「authenticity_token」。

    它並沒有爲我添加更多的軌道生成<%= %>輸入字段,但與<%= form ... %>是夠好的。

    相關問題