Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 如何在不使用javascript的情况下在rails标签中显示动态内容_Ruby On Rails 3_Views - Fatal编程技术网

Ruby on rails 3 如何在不使用javascript的情况下在rails标签中显示动态内容

Ruby on rails 3 如何在不使用javascript的情况下在rails标签中显示动态内容,ruby-on-rails-3,views,Ruby On Rails 3,Views,我找不到如何在Rails中显示动态标签,我尝试过使用:value=>show\u name属性,但它不起作用,它只显示show name。这是查看代码 <p> <div class="control-group"> <%= f.label :show_name, :value => :show_name, :class => 'control-label' %> <%= #this next

我找不到如何在Rails中显示动态标签,我尝试过使用
:value=>show\u name
属性,但它不起作用,它只显示
show name
。这是查看代码

<p>
   <div class="control-group">
           <%= f.label :show_name, :value => :show_name, :class => 'control-label' %> 
           <%= #this next line fails with undefined method `show_name' for #<ActionView::Helpers::FormBuiler>
              #f.label f.send :show_name, :class => 'control-label'
           %> 
       <div class="controls">
           <%= f.text_field :variable_value, :class => 'text_field' %> 
           <%= f.hidden_field :variable_id, :class => 'text_field' %> 
       <%= f.hidden_field :show_name, :class => 'text_field' %> 
       </div>
   </div>
<p>

使用
label_tag
,将show_名称放在控制器上的实例变量上,并像这样使用:

<%= label_tag @show_name, nil, :class => 'control-label' %>
<%= show_name(@name) %>
然后,您可以在视图上使用
show_name(name)
,如下所示:

<%= label_tag @show_name, nil, :class => 'control-label' %>
<%= show_name(@name) %>


只需记住填充
@name变量

使用
标签标签
,将show\u名称放在控制器上的实例变量上,并按如下方式使用:

<%= label_tag @show_name, nil, :class => 'control-label' %>
<%= show_name(@name) %>
然后,您可以在视图上使用
show_name(name)
,如下所示:

<%= label_tag @show_name, nil, :class => 'control-label' %>
<%= show_name(@name) %>


只需记住填充
@name变量

就行了,所以我最终找到了一个非常干燥的解决方案,多亏了。我要做的唯一一件事就是多解释一点该做什么:

首先,我们要分析一个最复杂的情况,在这种情况下,我们有嵌套的表单,因此我们在
表单中使用
字段作为
方法:

  <!-- f represents the form from `form_for` -->
  <%= f.fields_for :nested_model do |builder| %>
    <p>
      <div class="control-group">

         <!-- here we are just calling a helper method to get things DRY -->

         <%= builder.label return_value_of_symbol(builder,:show_name), :class => 'control-label' %> 
         <div class="controls">
            <%= builder.text_field :variable_value, :class => 'text_field' %> 
            <%= builder.hidden_field :variable_id, :class => 'text_field' %> 
         </div>
      </div>
    </p>
  <% end %>

好的,我最终找到了一个非常干燥的解决方案,谢谢。我要做的唯一一件事就是多解释一点该做什么:

首先,我们要分析一个最复杂的情况,在这种情况下,我们有嵌套的表单,因此我们在
表单中使用
字段作为
方法:

  <!-- f represents the form from `form_for` -->
  <%= f.fields_for :nested_model do |builder| %>
    <p>
      <div class="control-group">

         <!-- here we are just calling a helper method to get things DRY -->

         <%= builder.label return_value_of_symbol(builder,:show_name), :class => 'control-label' %> 
         <div class="controls">
            <%= builder.text_field :variable_value, :class => 'text_field' %> 
            <%= builder.hidden_field :variable_id, :class => 'text_field' %> 
         </div>
      </div>
    </p>
  <% end %>

这是干的吗?我需要将它添加到控制器中的每个定义中,或者至少索引和显示,或者任何其他使用_form.html.erb的人,然后我需要使用
使用助手。将代码放在一个助手中,并在所有视图中使用它。你的意思是创建一个替代标签或以某种方式返回变量的字符串?是的。在您的应用程序\u助手上,创建一个接收名称的方法,并使用
content\u tag
以友好方式创建标签。我仍然不知道如何做,我正在做
“control label”)%%>
但这是相同的事情吗?我需要将它添加到控制器中的每个定义中,或者至少索引和显示,或者任何其他使用_form.html.erb的人,然后我需要使用
使用助手。将代码放在一个助手中,并在所有视图中使用它。你的意思是创建一个替代标签或以某种方式返回变量的字符串?是的。在您的应用程序\u助手上,创建一个接收名称的方法,并使用
content\u tag
动态创建一个标签。我仍然不知道如何做,我正在做
“control label”)%%>
,但这是同样的事情