在我的凤凰应用程序中,我希望拥有像http://localhost:4000/2016/07/24/
这样的URI,它们由结构中的date
字段生成。我为我的结构创建了Phoenix.Param
impl:
defimpl Phoenix.Param, for: Item do
def to_param(item) do
{{year, month, day}, _time} = item.date
"#{year}/#{month}/#{day}/"
end
端
哪个按预期工作,但不幸的是(但可以理解)路径助手正在转义该字符串,因此item_path(@conn, :show, item)
生成的URI为http://localhost:4000/2016%2F07%2F24%2F
。
有没有办法让路径助手按原样接受路径而不转义它?我正在挖掘Phoenix.Router.Helpers
模块,但没有任何东西向我跳过。
修改:我要补充一点,我目前的解决方法是将我的路线定义为/:year/:month/:day
而不仅仅是/:date
,并在我的控制器中处理show
{{ 1}}功能正常,但我真的更喜欢/:date
路线方法。
答案 0 :(得分:2)
解决方案是使用@conn
|> item_path(:show, item)
|> URI.decode()
import cPickle as pickle
ml_model = pickle.load(open("SVM_LINEAR","rb"))