Ошибка компиляции в ruby ​​в приложении rails (ошибка в помощниках по rails) - PullRequest
1 голос
/ 30 декабря 2010

Я пишу приложение ruby ​​on rails и получаю ошибку компиляции для следующего кода

<%= form_tag(search_path, :method => "get") do %>
<%= label_tag(:q, "Search for:") %>
<%= text_field_tag(:q) %>
<%= submit_tag("Search") %>
<% end %>

это пример кода из справочника по формам ruby: http://guides.rubyonrails.org/form_helpers.html

Произошла ошибка,

ошибка компиляции /Users/kmb89144/Desktop/Stoastic/app/views/application/index.html.erb:3: синтаксическая ошибка, неожиданная ')' ... h_path,: method => "get") do) .to_s); @ output_buffer.concat ... ^ /Users/kmb89144/Desktop/Stoastic/app/views/application/index.html.erb:13: синтаксическая ошибка, непредвиденная ошибка kENSURE, ожидание ')' /Users/kmb89144/Desktop/Stoastic/app/views/application/index.html.erb:15: синтаксическая ошибка, неожиданный kEND, ожидание ')'

Извлеченный источник (вокруг строки № 3):

1: 

2:

3: <% = form_tag (search_path,: method => "get") do%>

4: <% = label_tag (: q, "Поиск:")%>

5: <% = text_field_tag ​​(: q)%>

6: <% = submit_tag ("Поиск")%>

Есть предложения?

Спасибо

Ответы [ 2 ]

5 голосов
/ 30 декабря 2010

Попробуйте удалить = из строки формы:

<% form_tag(search_path, :method => "get") do %>
0 голосов
/ 13 ноября 2017

Пожалуйста, используйте form_with, поскольку в новых версиях Rails 5 функции form_for и form_tag будут прекращены.

Используйте это:

<%= form_with(url: search_path, method: :get, local:true) do |f|%>
  <%= f.label 'Search for:' %>
  <%= f.text_field :q, id: :q %>
  <%= f.submit 'Search' %>
<% end %>

Ссылка: https://m.patrikonrails.com/rails-5-1s-form-with-vs-old-form-helpers-3a5f72a8c78a

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...