首页 > 解决方案 > 如何使用 Ruby on rails 表单“获取”

问题描述

我尝试从我创建的列表中获取 2 个玩家,我只需要获取有关这 2 个玩家的所有信息(名称、描述等),一旦我选择了这两个玩家,我需要被重定向到 /fight 路径. 我的表格不起作用,我不明白为什么。

我有错误在线渲染模板时遇到语法错误<%= form_tag ("/fight", :method => "get") do %>

有人可以帮我吗?

这是我的观点:

<%= form_tag ("/fight", :method => "get") do %>
  <%= label_tag :player1 %>
  <%= select_field :character, @characters.collect{|u| [u.name, u.id]} %>
  <%= label_tag :playe2 %>
  <%= select_field :character, @characters.collect{|u| [u.name, u.id]} %>
  <%= submit_tag 'Fight' %>
<% end %>

我的 pages_controller

def index 
  @characters = Character.all
end

还有我的路线

get 'fight' => 'pages#index'

标签: ruby-on-railsrubyformsruby-on-rails-3

解决方案


由于括号中提供的方法和参数之间提供了空格而发生错误form_tag,它应该是,

form_tag("/fight", :method => "get")

你也可以用以下方式写,

<%= form_tag fight_path, method: "get" do %>

或者

<%= form_tag url: "fight", method: "get" do %>

推荐阅读