0
<%= link_to "Next week", "/?week_forward= %>
<% if week_number % 52 == 0 %> 
    2 
<% else %> 
    1
<% end %>
<%= + #{(params[:week_forward].to_i || 0)}" %>

これをhtml.erbで取得しようとしています。何が悪いのかわからないのですが、引用符が間違っていますか?

ここにエラーがあります

bad URI `/?week_forward=%20);@output_buffer.safe_concat('');%20if%20week_number%20%%2052%20==%200%20%20@output_buffer.safe_concat(''2'');%20else%20%20@output_buffer.safe_concat(''1'');%20end%20@output_buffer.append=%20(%20+%200'.
4

3 に答える 3

0

飛び出す明らかなエラーは、次の後に二重引用符がないことです。"/?week_forward=

helpersまた、 Railsを確実に調べて、このコードのほとんどをビューの外に移動する必要があります。

于 2012-09-11T04:02:37.750 に答える
0

link_to正しく使用していません。週番号1または22番目の引数の一部である必要があり、への呼び出しの後に追加されませんlink_to

<%= link_to "Next week", "/?week_forward=%d" % (week_number % 52 == 0) ? 2 : 1 %>

あなたlink_toは以下を作成しようとしています(あなたが後にクローズクォートを修正したら"/?week_forward=

<a href="/?week_forward=">Next Week</a>1

あなたが次のようなものを望んでいるように見えるとき

<a href="/?week_forward=1">Next Week</a>
于 2012-09-11T04:03:19.717 に答える
0

非常にきれいに見える以下を使用してください

<% forward = params[:week_forward].to_i || 0 
   week_forward = week_number % 52 == 0 ? 2 : 1
%>
<%= link_to "Next week", "/?week_forward=#{week_forward+forward}" %>
于 2012-09-11T04:29:47.490 に答える