我對Ruby on Rails比較新,並且試圖在現有控制器上設置新操作的表單。在Ruby on Rails中將表單路由到新的控制器操作
我現有的模型和控制器被稱爲'項目',並且我在控制器中創建了一個名爲'隊列'的新動作。目標是用戶可以使用'/ queue/username'過濾不同用戶的項目。
的routes.rb
match 'queue/:username' => 'projects#queue'
projects_controller.rb
def queue
if (params[:user_id].blank? && params[:user_id].nil?)
@projects = Project.find_all_by_user_id(User.where(:username => params[:username]).pluck(:id))
else
@projects = Project.find_all_by_user_id(params[:user_id])
end
end
queue.html.erb
<%= form_tag("queue", :id => "select_user", :method => "post") do %>
<%= hidden_field_tag('user_id', '') %>
<%= text_field_tag('user', nil, :placeholder => 'Enter a user...', class: "users",
data: {autocomplete_source: User.order(:lastname, :firstname).map { |u| {:label => u.firstname + " " + u.lastname, :id => u.id} }}) %>
<% end %>
當I S ubmit這種形式提交的「隊列/隊列」,而爲了有一個直接鏈接到這個動作我需要做的:
<%= link_to "Queue", queue_path + "/" + current_user.username.to_s %>
我知道是不正確的。
我的問題是如何獲取表單作爲'隊列/用戶名'提交?是否應該在一個新的「隊列」控制器中分別處理路由?任何幫助表示讚賞。
的Rails版本3.2.13
的Ruby版本 1.9.3
您使用的是什麼版本的rails和ruby? – 2013-04-29 16:33:54
更新了我的問題:Rails:3.2.13,Ruby:1.9.3。 – Drew 2013-04-29 16:36:19