if语句之后的.html.erb文件中的"语法错误,意外的')'"

Tum*_*uma 0 ruby-on-rails

我有一个.html.erb文件,它应该在某个参数为"true"时打印一条消息,而在另一个参数为"false"时打印一条消息.这是文件的代码:

<%= if params[:result] == "true" %>
    <h1>Success</h1>
    <p>The words <%=params[:first] %> and <%= params[:second] %> are anagrams! <br>
<%= else %>
    <h1>Oh no!</h1>
    <p>The words <%=params[:first] %> and <%= params[:second] %> are not anagrams. <br>
<br>
<%= link_to 'Try another pair', welcome_index_path%>
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

/home/mariana/Documents/RD-anagram/anagram/app/views/solver/result.html.erb:3: syntax error, unexpected ')', expecting keyword_then or ';' or '\n' if @result == "true" );@output_buffer.safe_append=' 

/home/mariana/Documents/RD-anagram/anagram/app/views/solver/result.html.erb:6: syntax error, unexpected keyword_else '.freeze;@output_buffer.append=( else );@output_buffer.safe_append=' 

/home/mariana/Documents/RD-anagram/anagram/app/views/solver/result.html.erb:11: syntax error, unexpected keyword_ensure, expecting ')' 

/home/mariana/Documents/RD-anagram/anagram/app/views/solver/result.html.erb:13: syntax error, unexpected keyword_end, expecting ')'
Run Code Online (Sandbox Code Playgroud)

Sha*_*ani 6

如果声明应该是这样的.将<%= if%>删除到<%if%>应该有效.

<% if %> 

<% else %>

<% end %>
Run Code Online (Sandbox Code Playgroud)