在rails视图中生成文本字段

时间:2013-05-22 01:02:57

标签: ruby-on-rails

让我们建议情况:EAV数据模型(通用)。存在实体表,属性表和值表。我为所有这些东西制作了脚手架。接下来,我们将转到Values-> New页面。它在值表中创建了新的值。我在这里有entity_idattribute_id个字段。我想从Attributes表中添加动态字段。因此,在New操作的Values控制器中,我有:

 def new
    @value = Value.new

    @attribute = Attribute.find(:all) #It is not correct, it will search ALL existing attributes for all entities, I'll fix it later

    respond_to do |format|
      format.html # new.html.erb
      format.json { render json: @value }
    end
  end

接下来我们转到Views-> Values-> _form.html.erb和生成部分在这里:

<% @attribute.each do |attr| %>
  <div class="field">
    <%= f.label attr.name %><br />
    <%= text_field_tag(controller.controller_name.singularize+'['+attr.name+']') %>
  </div>  
  <% end %>

看一下这个字符串:<%= text_field_tag(controller.controller_name.singularize+'['+attr.name+']') %> 这有些不是“专业红宝石”风格。它看起来像马车,像垃圾一样。 (但它确实有效)。

最后,问题是:如何使它成为“专业红宝石风格”,也许它必须看起来像f.text_field attr.name(它不起作用)。怎样成为? :)

0 个答案:

没有答案