2016-11-07 11 views
0

Rubyとsinatraのアプリケーションでは、現在作成されているすべてのリストを表示したり編集したりすることができます。それらを作成しました。問題がruby​​とsinatraを使ってリストを表示させるにはどうすればいいですか?

のActiveRecord /ワットのRailsで
@lists = List.all 

内にある

class ListsController < ApplicationController 

get "/lists" do 
    redirect_if_not_logged_in 
    @lists = List.all 
    erb :'lists/index' 
end 

get "/lists/new" do 
    redirect_if_not_logged_in 
    @error_message = params[:error] 
    erb :'lists/new' 
end 

get "/lists/:id/edit" do 
    redirect_if_not_logged_in 
    @error_message = params[:error] 
    @list = List.find(params[:id]) 
    erb :'lists/edit' 
end 

delete '/lists/:id/delete' do 
    @list = List.find_by_id(params[:id]) 
    @list.delete 
    redirect to '/lists' 
end 

post "/lists/:id" do 
    redirect_if_not_logged_in 
    @list = List.find(params[:id]) 
    unless List.valid_params?(params) 
    redirect "/lists/#{@list.id}/edit?error=invalid list" 
    end 
    @list.update(params.select{|a|a=="todo_name"|| a=="todo_list"}) 
    redirect "/lists/#{@list.id}" 
end 

get "/lists/:id" do 
    redirect_if_not_logged_in 
    @list = List.find(params[:id]) 
    erb :'lists/show' 
end 

post "/lists" do 
    redirect_if_not_logged_in 
    unless List.valid_params?(params) 
    redirect "/lists/new?error=invalid list" 
    end 
    List.create(params) 
    redirect "/lists" 
end 
end 

答えて

0

belongs_toUserあなたListモデルを仮定して)あなたの代わりのような何かを行うことができます:ここで

は次のように私のlists_controllerが見えるものです

@lists = List.where(user_id: current_user.id) 
+0

私は新しいリストを作成するとリストは私のリストページに表示されません。 – Chris

+0

Listオブジェクトの定義方法を共有することはできますか? – whodini9

関連する問題