在Rails嵌套表单中基于模型属性分配dom id

时间:2012-12-26 13:37:47

标签: html ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-3.2

我有一个嵌套的表格。 现在我想用一些CSS安排布局,但是我在向表单分配dom id时遇到了麻烦。

这是主题控制器。 我想将第5行中的lesson_type分配为dom id。

 1 def index
 2   @subjects = Subject.all
 3   @subject = Subject.new

 4   lecture = @subject.lessons.build
 5   lecture.lesson_type = "lecture"
    lecture.lesson_groups.build
    lecture.destroy

    tutorial = @subject.lessons.build
    tutorial.lesson_type = "tutorial"
    tutorial.lesson_groups.build
    tutorial.destroy

    laboratory = @subject.lessons.build
    laboratory.lesson_type = "laboratory"
    laboratory.lesson_groups.build
    laboratory.destroy


    respond_to do |format|
      format.html # index.html.erb
      format.json { render json: @subjects }
      format.js
    end
  end

以下是表格。

<%= nested_form_for(@subject, :remote=>true) do |f| %>
  <% if @subject.errors.any? %>
    <div id="error_explanation">
      <h2><%= pluralize(@subject.errors.count, "error") %> prohibited this subject from being saved:</h2>

      <ul>
      <% @subject.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :subject_code %><br />
    <%= f.text_field :subject_code %>
  </div>


  <%= f.fields_for :lessons do |lesson| %>

     <%= lesson.label :lesson_type %><br/>
     <%= lesson.text_field :lesson_type, :readonly=>true%><br/>
     <%= lesson.label :name %><br/>
     <%= lesson.text_field :name %><br/>

  <%= lesson.fields_for :lesson_groups do |lesson_group| %>

       <%= lesson_group.label :group_index %><br/>
       <%= lesson_group.text_field :group_index %>
       <%= lesson_group.link_to_remove "Remove this task" %>

  <% end %>

这是我想要添加id的div。

  <%= f.fields_for :lessons do |lesson| %>
     <%= lesson.label :lesson_type %><br/>
     <%= lesson.text_field :lesson_type, :readonly=>true%><br/>
     <%= lesson.label :name %><br/>
     <%= lesson.text_field :name %><br/>

我尝试了以下但是没有用。

<div id = "<%= :lesson_type%>">

如果有人可以帮助我,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

抱歉..

#controller

def index
  ...
  lecture.lesson_type = @lesson_dom_id = "lecture" # line 5
  ...
end

#view
<div id="<%= @lesson_dom_id %>">