Ruby on rails 3 如何在不使用javascript的情况下在rails标签中显示动态内容
我找不到如何在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
: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”)%%>
,但这是同样的事情