Gig*_*igg 2 ruby forms tags ruby-on-rails
我是ruby和rails的新手,我在使用Ruby on Rails电子商务时遇到了问题.(是的,这是一本旧书).
我有这两个代码集用于视图:
new.html.erb:
<%= form_tag :action=> 'create' do -%>
<%= render :partial => 'form' %>
<%= submit_tag 'Create' %>
<%= end -%>
<% link_to 'Back', :action => 'index' %>
Run Code Online (Sandbox Code Playgroud)
_form.html.erb:
<% error_messages_for 'supplier' %>
<p><label for="supplier_first_name">First Name</label><br/>
<%= text_field 'supplier', 'first_name' %></p>
<p><label for="supplier_last_name">Last Name</label><br/>
<%= text_field 'supplier', 'last_name' %></p>
Run Code Online (Sandbox Code Playgroud)
但它不会显示虽然我添加了do选项.它一直给我这个错误:
C:/rails/emporium/app/views/admin/supplier/new.html.erb:1: syntax error, unexpected ')'
...orm_tag :action=> 'create' do ).to_s)
... ^
C:/rails/emporium/app/views/admin/supplier/new.html.erb:4: syntax error, unexpected keyword_end
; @output_buffer.concat(( end ).to_s)
^
C:/rails/emporium/app/views/admin/supplier/new.html.erb:5: syntax error, unexpected tIVAR, expecting ')'
@output_buffer.concat "\n"
^
C:/rails/emporium/app/views/admin/supplier/new.html.erb:7: syntax error, unexpected keyword_ensure, expecting keyword_end
C:/rails/emporium/app/views/admin/supplier/new.html.erb:9: syntax error, unexpected $end, expecting ')'
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议我如何解决这个问题,因为我还没有找到谷歌答案.
谢谢
吉格
它看起来像你必须<%= %>和<% %>在好几个地方混了.你需要使用<% %>with form_tag,<%= %>with link_to和error_messages_for.后两种方法返回它们的输出,同时form_tag自动将其输出附加到输出缓冲区(对于任何接受块的帮助程序通常都是如此).
试试这个:
new.html.erb:
<% form_tag :action => create do %>
<%= render :partial => "form" %>
<%= submit_tag "Create" %>
<% end %>
<%= link_to "Back", :action => "index" %>
Run Code Online (Sandbox Code Playgroud)
_form.html.erb:
<%= error_messages_for :supplier %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4708 次 |
| 最近记录: |