我正在尝试将控制器中的字符串传递给我的视图:
控制器:
def index
@str = 'foo'
end
视图:
String: <% @str %>
变量本身似乎到了,因为我没有错误。然而,它到达为空(仅#34;字符串&#34;在html中,没有别的)。它似乎与其他内置类型很有用,例如时间。我在这里错过了什么?我使用Ruby 2.2.1和Rails 4。
答案 0 :(得分:2)
正如其他人所说,你需要使用
<%= @str %>
我也会给你一个解释 - 当你需要运行一些你不想在屏幕上显示的Ruby代码时,可以使用<% %>
。例如,您可能有像
<% if user_signed_in? %>
<%= @welcome_string %>
<% end %>
要输出时使用<%= %>
,删除条件逻辑的'='或不需要显示的任何内容。
答案 1 :(得分:1)
String: <%= @str %>
答案 2 :(得分:1)
在查看用户以下代码中:
String: <%= @str %>
答案 3 :(得分:0)
在您看来,请使用:
<%= @str %>
答案 4 :(得分:0)
正如其他用户指出的那样,您需要使用<%=
=
是一个ERB标志,用于导出代码内部代码的结果并将其放入DOM中。
如果您想在页面中添加一些您 想要评估的逻辑,请将=
退出。
<% if user_wants_to_see_output? %>
<%= "User will see this" %>
<% end %>