2011-07-15 47 views
26

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 %> 
+1

Lưu ý rằng ' ? ' và '!' ** các ký tự ** hợp lệ trong tên phương thức. –

Trả lời

70

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.

2

thử này

<% if user_signed_in? %> 
    <%= render 'form' %> 
<% end %> 
21

<%= 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? %> 
+1

Cảm ơn bạn đã mô tả sự khác biệt giữa '<% =' và '<%' – lislis

Các vấn đề liên quan