Tôi đã viết ERB sau và nhận được lỗi cú pháp tại dấu chấm hỏi. Hàm trợ giúp này từ lập ra hiện đang đánh giá là sai. Tôi đã bỏ lỡ điều gì?Đường ray nếu cú pháp câu lệnh
<%= if user_signed_in? %>
<%= render 'form' %>
<%= end %>
Tôi đã viết ERB sau và nhận được lỗi cú pháp tại dấu chấm hỏi. Hàm trợ giúp này từ lập ra hiện đang đánh giá là sai. Tôi đã bỏ lỡ điều gì?Đường ray nếu cú pháp câu lệnh
<%= if user_signed_in? %>
<%= render 'form' %>
<%= end %>
Hãy thử điều này:
<% if user_signed_in? %>
<%= render 'form' %>
<% end %>
Nếu bạn làm <% = ...%> anh sẽ cố gắng ra điều bạn đặt giữa các thẻ. Nếu điều này không làm việc, thì có lẽ có điều gì đó sai với user_signed_in của bạn? phương pháp trợ giúp.
thử này
<% if user_signed_in? %>
<%= render 'form' %>
<% end %>
<%=
sẽ cố gắng ra user_signed_in?
helper của bạn, vì vậy hãy thử:
<% if user_signed_in? %>
<%= render 'form' %>
<% end %>
hoặc thậm chí tốt hơn (và ít gây nhầm lẫn):
<%= render 'form' if user_signed_in? %>
Cảm ơn bạn đã mô tả sự khác biệt giữa '<% =' và '<%' – lislis
Lưu ý rằng ' ? ' và '!' ** các ký tự ** hợp lệ trong tên phương thức. –