これが私が自分のコードを使用している場所であり、私は近いと思います。
savetomonongoid は、params 配列を mongoid にプッシュする定義です。
私はpluralizeとclassifyメソッドにactivesupportを使用しています
route :get, :delete, :post, :put, '/*/*?/?*?' do |model, action, id|
case
when request.get?
case action
when "new"
haml '#{model}/new'
when "show"
instance_variable_set('@#{model}', model.classify.find(id))
haml '#{model}/show'
when "edit"
instance_variable_set('@#{model}', model.classify.find(id))
haml '#{model}/edit'
else
instance_variable_set('@#{model.pluralize}', model.classify.asc(made))
haml '#{model}/index'
end
when request.post? || request.put?
savetomongoid(model, params[model]) ? (redirect '/#{model}/') : (redirect '/#{model}/new')
when request.delete?
model.classify.find(id).delete ? (redirect '/#{model}/') : (puts "uhh ohh")
end
end
get '/*' do
haml :silence
end
これを任意のパスでロードしようとすると、完全に空白の画面が表示され、ソースは表示されませんが、 localhost:####/ によって Haml :silence に移動するため、一部のルートが機能しています。
3 つのスプラットは、その値をモデル、アクション、ID に入れる必要があります。何か/何か/何かを試してみましたが、まだソースページが表示されません。
感嘆符と疑問符のパターンは、https://github.com/sinatra/sinatraの readme を介して機能すると想定されています
誰か手を貸してくれませんか?私はこれがうまくいくはずだとほぼ確信しています。
また、モデルが存在するかどうかを確認して、モデル内の任意のものの生成クラッドを除外する方法を誰かが提案できますか?