submit_tagsではなくlink_toタグからビュー間でパラメーターを渡すRuby on Rails(両方ともページにあります)

StackOverflow https://stackoverflow.com/questions/1814481

質問

Ruby on railsプログラムのインデックスページで、データベースで最もよく検索される用語のリストを作成しているため、ユーザーが特定のカテゴリを選択するたびに、別のデータベースに書き込まれます。

ハイパーリンクを作成し、特定の量のパラメーターをフォームに渡すことは、通常select_tagで行われますが、ハイパーリンクだけでなく、隠しフィールドのセットを渡しますページとユーザーが選択したもの。

より良いアイデアを提供するために、基本的に私のプログラムには次の構造があります:

ユーザーは( index.html.erb )で検索を入力し、ユーザーは送信タグをクリックします アクション、ユーザーは search.html.erb ページに移動し、洗練されたカテゴリといくつかのフィールド、送信ボタン、

のセットが表示されます

ユーザーは closest.html.erb に移動します( params [:searchSelected] および他のいくつかのパラメーターを呼び出すことで、前のフォームのパラメーターを使用します)

この機能も追加したいと思います。 これと同じ操作を模倣しますが、 search.html.erb に移動する代わりに、 index.html.erb ページで既に洗練された検索カテゴリをクリックします(から link_to 、ユーザーがlink_toを選択したパラメーターとして+隠しフィールドを送信します。

i現在このコードがあります

@stats.each do
|scr|%>
<%= link_to scr.category,  :action => 'closest', :id => scr.category%>

これが関連するかどうかはわかりませんが、現在、 routes.rb ファイルに次のルートがあります

 map.resources :stores, :collection => { :search => :get }

 map.connect ':controller/:action/:id'
 map.connect ':controller/:action/:id.:format'

誰か助けてください。これはRailsプロジェクトでの最初のルビーです。これを回避する方法を見つけたいと思います

役に立ちましたか?

解決

これがあなたが考えていたものかどうかはわかりませんが、link_toタグに追加のパラメーターを追加できます。これらはコントローラーで使用できます。だから:

<%= link_to scr.category,  :action => 'closest', :id => scr.category, :other_param => "test" %>

コントローラーで使用可能になります。

def closest
  params[:other_param] == "test" #this will be true
end

他のヒント

iは params [:id] を取得してこれを解決し、値に応じて(手動で設定したindex.erbの非表示値の代わりに)自分の値を設定します。とにかく)そして、そうでなければ、通常の検索を行った場合はいつものように続行します

表示:

<%= link_to obj.ptc_devicename ,"/wiuconfig/hd?idval=#{obj.id.to_s}&val=#{@devicetype}",:value => obj.ptc_devicename,:id =>obj.id %><br/>

コントローラー:

@Heading= params[:val] 
@id=params[:id]

値はidが2で、valが@devicetypeです

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top