2012-03-18 6 views
3

레일즈 3.2에서 아래 형식을 사용하여 양식을 만들었지 만 게시보기를 열면 의견을 게시 할 수있는 양식이 표시되지 않습니다. 무엇이 잘못 될 수 있습니까?양식 만들기 (Ruby on Rails)

<%= form_tag(:controller => "posts", :action => "create") do %> 
    <%= label_tag(:message, "What are you doing?") %><br /> 
    <%= text_area_tag(:message, nil, :size => "44x6") %><br /> 
    <%= submit_tag("Update") %> 
<% end %> 

답변

4

을하는 데 도움이됩니다. 변경 :

<% form_tag(:controller => "posts", :action => "create") do %> 

에 : 나는 당신의 예를 사용하여있어

<%= form_tag(:controller => "posts", :action => "create") do %> 
+0

당신은 완벽하게 정확합니다 –

+0

하지만 '%

"posts", : action = ""create ") do %>와 같은 것을 사용할 수 있습니다. 그러면 오류가 발생합니다. –

+1

'form_remote_tag' 대신에 당신은': remote => true'를 form_tag에 전달할 수 있습니다 :'<% = form_tag {: controller => "posts", : action => "create"}, : remote => true do %>' – pjumble

0

경로 파일을 확인하고 올바른지 확인하십시오. 그리고 첫 번째 행에서 = 기호를하십시오. 그것이 효과가있을 것이라고 생각하십시오. 당신은 자원에 대한 형태를 가질 때, 사용 form_for 권장 :

<% form_for @posts.each do |p| %> 
<%= p.label :message %><br /> 
<%= p.text_area :message, nil, :size => "44x6" %><br /> 
<%= submit_tag("Update") %> 
<% end %> 

는 또한>/< BR을 피하십시오. CSS (divs, classes 등)로 양식의 스타일을 지정하십시오. 물론, 당신은이 작업을 위해 컨트롤러에 @posts의 VAR을해야합니다 :

@posts = Post.all 

희망이 헬퍼 직접 출력보다는 마크 업을 반환 * 레일 3 form_에서

+0

오류가 열거에 대한'정의되지 않은 메서드'MODEL_NAME ': 1 –

+0

어쩌면 동등한이 같은 서명을 추가 라인 Class' <% = form_for @ posts.each do | p | %> – oFca