非常新的rails。我一直在下面的一本書,幫助了很多,但這個我想不通:Rails新動作重定向
我有一些動作(方法)控制器技術在裏面:
def patadas
@technique = Category.find(4).technique
end
def golpes
@technique = Category.find(3).technique
respond_to do |format|
format.html { redirect_to(patadas_path) }
end
end
的想法是有一個頁面,我可以發送不同的技術,它會呈現它們。該patadas.html.erb頁有這樣的吧:
[一些HTML]
<% if @technique then %>
<% @technique.each do |p| %>
(<%= p.order %>) <%= p.korean %> - <%= p.spanish %><br />
<% end %>
<% else %>
No techniques specified to show!
<% end %>
我的問題是與重定向。我希望能夠向同一頁面發送不同的方法(顯然,我必須將其重命名爲技術或patadas以外的其他方法),並使其呈現與所調用的方法相對應的技術。現在重定向被執行,但它總是顯示patadas方法。
哦,我有這樣的routes.rb中文件:我看到解釋如何做到這一點對每個操作一個視圖
match '/patadas' => 'techniques#patadas', :as => 'patadas'
match '/golpes' => 'techniques#golpes', :as => 'golpes'
所有的教程和書籍等,但是這是真的浪費,我想要所有這些不同的行動的一個觀點。有了上述路線,我明白,如果我建立另一個名爲'golpes.html.erb'的視圖,它會渲染它們,但我正在尋找具有不同動作的單個視圖。
謝謝。
PS 此外,是否有可能有這樣的事情:
@frontal.each { |p| puts "(#{p.order}) #{p.korean} = #{p.spanish}" }
的視圖(html.erb)文件?它比上述開啓和關閉的標籤更加優雅。有了Ruby的美麗,使用這種語法似乎很浪費。我相信一定有,但我還沒有得到這先進而:)
編輯:鑑於我所做的所有更改(創建了一個類腳手架),我重寫問題讓事情更清楚。所以,現在這就是我:
categories_controller.rb
[ bunch of stuff ]
def show
@category = Category.find(params[:id])
end
的routes.rb
resources :categories
在演示文件,我想通過ID,以便 的/可列出所有類別categories/show.html.erb file:
I want to get category.order, category.category, category.spanish to show here
<%= link_to 'Edit', edit_category_path(@category) %> |
<%= link_to 'Back', categories_path %>
請原諒我的白癡,但我無法弄清楚wha t放入這個文件來列出內容。如果我嘗試做這樣的事情:
<% @category.each do |cat| %>
<li><%= cat.category %> - <%= cat.spanish %></li>
<% end %>
我得到一個錯誤
undefined method `each' for #<Category:0x007f81c42a3fd0>
(原來的問題已經做的路線,我錯誤地希望路線來處理不同的操作,這東西實際上是完成與展示模板,因此jimworm的答案。我編輯的清晰度的問題,因爲我改變了很多事情,但真的不記得原來的措辭,抱歉)
Arrghh,這太令人沮喪了。我可以讓index.htm.erb工作,因爲當然在那裏有一個@categories實例。但顯示頁面不知道技術方法或控制器,所以我不能得到這個工作。我想我已經在這個一直盯着太久... – kakubei
好吧,重讀你的帖子的第20次後,我想出了這個: '<%@ techniquesList.each做| TEC | %> \t <%= tec.korean%>
<% end %>' 而在類別類: 'DEF顯示 #@Category = Category.find(PARAMS [:ID]) @techniquesList = Category.find( [:ID] PARAMS)technique' 這(主要)工作 – kakubei
你的模型/關係是錯誤的。一個類別是否有一種技術或多種技術?另外:請把你原來的問題退回來;否則這篇文章中沒有任何意義。 – jimworm