我有問題找到一個簡單的答案,我認爲這是一個非常簡單的問題。Ruby on Rails:使用文本框數據填充另一頁上的表單數據
我想要做的就是使用任何類型的文本字段搜索「主題」,然後將用戶重定向到正確的頁面以輸入有關該主題的某些信息。
因此,如果用戶輸入'1001',他將被帶到一個表格,該表格將被任何已經爲主題'1001'輸入的數據填充。
所以,我想這裏就是我想弄清楚:
假設只有一個變量將永遠被搜索,@ subject.subject_id。
如何從文本字段存儲變量,以便能夠將該變量傳遞到link_to字段,然後該字段將使用該主題信息填充整個頁面?
我添加了一個新的控制器元素與(populate_values)玩:
subjects_controller.rb
def update
@subject = Subject.find(params[:id])
respond_to do |format|
if @subject.update_attributes(params[:subject])
format.html { redirect_to @subject, notice: 'Subject was successfully updated.' }
format.json { head :no_content }
else
format.html { render action: "edit" }
format.json { render json: @subject.errors, status: :unprocessable_entity }
end
end
end
...
def populate_values
@subject_id = params[:subject_id]
redirect_to screening_path(@subject_id)
end
end
下面是我的一些航線代碼,請原諒我是一個小白 - 我米仍然搞清楚是什麼觸發了什麼。
的routes.rb
#resources :subjects, only: [:new, :create, :destroy] # Copied th
resources :subjects
...
match '/subjects', to: 'subjects#show'
match '/newsubject', to: 'subjects#new'
match '/subjects', to: 'subjects#index'
match '/showsubject', to: 'subjects#show'
match '/editsubject', to: 'subjects#edit'
match '/screening', to: 'subjects#screening'
#match '/populate_values', to: 'subjects#screening' #Just trying to figure out things.
這裏是從哪裏值將由用戶輸入我的看法。我覺得無論我實際上做錯了什麼,最可能源於這種形式。此外,此表單位於用戶視圖內,而不是主題視圖,如果重要的話。
的意見/用戶/ show.html.erb
<% provide(:title, @user.name) %>
<div class="row">
<aside class="span4">
<section>
<h1>
<%= gravatar_for @user %>
<%= @user.name %>
</h1>
<hr>
</section>
<div class="user_profile">
<h2>Data Entry</h2>
<body>
<p><%= link_to "Add a new Patient", newsubject_path %></p>
<p><%= link_to "View Patients", subjects_path %></p>
<%= form_tag('/subjects_controller/populate_values') do %>
<%= text_field_tag 'subject_id' %>
<div class="btn btn-link">
<%= submit_tag "Screening Log" %>
</div>
<% end %>
</body>
</div>
</aside>
</div>
任何幫助將不勝感激。
編輯1.
我目前正在
<%= link_to "Screening", screening_path, :subject_id => subject.subject_id, :class => 'btn btn-mini' %>
但它不承認subject.subject_id瞎搞。 「未定義的局部變量或方法主題」。
你的篩選路線不需要一個ID,但你的重定向傳入一個ID - redirect_to screening_path(@subject_id)我錯過了什麼?否則,您可以使用<%= f.text_field:subject_id,:value => params [:id] – fatfrog