categorization
を表すアイコンをユーザーがクリックすると、challenges
と同じcategorization
のホームページのみに一覧表示するにはどうすればよいですか?同じ属性の同じページにオブジェクトを表示するにはどうすればよいですか?
図
<%= link_to categorization_path(categorization: :adventure) do %>
<span class="glyphicon glyphicon-picture", id="challenge-category"></span>
<% end %>
<%= link_to categorization_path(categorization: :health) do %>
<span class="glyphicon glyphicon-heart", id="challenge-category"></span>
<% end %>
<%= link_to categorization_path(categorization: :work) do %>
<span class="glyphicon glyphicon-briefcase", id="challenge-category"></span>
<% end %>
<%= link_to categorization_path(categorization: :buy) do %>
<span class="glyphicon glyphicon-shopping-cart", id="challenge-category"></span>
<% end %>
<%= link_to categorization_path(categorization: :wacky) do %>
<span class="glyphicon glyphicon-wine-glass", id="challenge-category"></span>
<% end %>
ユーザは、そのそれぞれのcategorization
とすべき唯一のリストの課題を上記link_to
をクリックします。
routes.rbを
get ":categorization", to: "pages#home", as: 'categorization'
pages_controller.rb
def home
@challenges = current_user.challenges.send(params[:categorization]).order("deadline ASC")
end
challenge.rb
CATEGORIZATION = ['adventure', 'health', 'work', 'buy', 'wacky']
scope :adventure, -> { where(categorizations: 'Adventure') }
scope :health, -> { where(categorizations: 'Health') }
scope :work, -> { where(categorizations: 'Work') }
scope :buy, -> { where(categorizations: 'Buy') }
scope :wacky, -> { where(categorizations: 'Wacky') }
どのようなエラーが発生しますか? – potashin
'TypeError(nilはシンボルではありません):コントローラの行の' @potashin –