1

Railsアプリケーションを開発しています。非常に奇妙な問題が私を夢中にさせています。

フォーム (メソッドは get) がパラメーターを渡していません。開発モードでのみ発生します。すべてのブラウザで発生します。単純なモック ビューでテストしましたが、同じ問題が発生します。ログは、パラメーターが渡されなかったことを示しています。

class ItemsController < ApplicationController
  def index
    @items = Item.by_store_id(params[:store_id]).by_keyword(params[:keyword]).include_inactive(params[:include_inactive]).order("manufacturer_part_no").paginate :per_page => 50, :page => params[:page]
  end
end

[View]
          = form_tag({:action => :index}, :method => 'get') do
            Store
            = select_tag :store_id, options_for_select(Store.order("id").map { |i| [i.name, i.id]}.unshift([nil, nil]), params[:store_id].to_i)
            %br
            Title/Item No. 
            = text_field_tag :keyword, params[:keyword]
            %br
            = check_box_tag :include_inactive, '1', (params[:include_inactive].to_i == 1)
            Include Ended Items
            %br
            = submit_tag "Find"

問題の原因は何だと思いますか?

ありがとう。

サム

問題の原因がわかりました:

私の開発サーバーにはディレクトリ - public/items があり、ディレクトリはgitにはありません。

%p This doesn't work!
= form_tag("/items", :method => 'get') do
  = text_field_tag :data, params[:data]
  = submit_tag "Submit"

%p This works.
= form_tag("/items/", :method => 'get') do
  = text_field_tag :data, params[:data]
  = submit_tag "Submit"

このような場合、トレーニング スラッシュが効果を発揮します。

4

0 に答える 0