从控制器传递到Rails中的视图的字符串到空

时间:2015-05-15 14:11:15

标签: ruby-on-rails ruby

我正在尝试将控制器中的字符串传递给我的视图:

控制器:

def index
    @str = 'foo'
end

视图:

String: <% @str %>

变量本身似乎到了,因为我没有错误。然而,它到达为空(仅#34;字符串&#34;在html中,没有别的)。它似乎与其他内置类型很有用,例如时间。我在这里错过了什么?我使用Ruby 2.2.1和Rails 4。

5 个答案:

答案 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 %>