【问题标题】:Problem with converting form_tag in rails在rails中转换form_tag的问题
【发布时间】:2011-01-30 15:45:46
【问题描述】:

我是 ruby​​ 和 rails 的新手,我遇到了 Begging Ruby on Rails Ecommerce 的问题。 (是的,这是一本旧书)。

我有这 2 个代码集用于视图:

new.html.erb:

<%= form_tag :action=> 'create' do -%>
<%= render :partial => 'form' %>
 <%= submit_tag 'Create' %>
 <%= end -%>

<% link_to 'Back', :action => 'index' %>

_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>

但是虽然我添加了 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 ')'

任何人都可以建议我如何解决这个问题,因为我还没有找到谷歌答案。

谢谢

吉格

【问题讨论】:

    标签: ruby-on-rails ruby forms tags


    【解决方案1】:

    您的&lt;%= %&gt;&lt;% %&gt; 似乎在多个地方混淆了。您需要将&lt;% %&gt;form_tag 一起使用,并将&lt;%= %&gt;link_toerror_messages_for 一起使用。后两种方法返回它们的输出,而form_tag 自动将其输出附加到输出缓冲区(对于任何接受块的帮助器通常都是如此)。

    试试这个:

    new.html.erb:

    <% form_tag :action => create do %>
    <%= render :partial => "form" %>
    <%= submit_tag "Create" %>
    <% end %>
    
    <%= link_to "Back", :action => "index" %>
    

    _form.html.erb:

    <%= error_messages_for :supplier %>
    

    【讨论】:

    • 嗨,托德,谢谢你。正如你所说的那样有效。有趣的是这本书没有这样的,必须是旧版本的rails。 G
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-09
    • 2013-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多