Skip to content

Instantly share code, notes, and snippets.

@xiongxin
Last active August 29, 2015 14:08
Show Gist options
  • Save xiongxin/03d4cb1c36549572723e to your computer and use it in GitHub Desktop.
Save xiongxin/03d4cb1c36549572723e to your computer and use it in GitHub Desktop.
elixir phoenix curd模板文件
defmodule PhoenixJobs.JobController do
use Phoenix.Controller
alias PhoenixJobs.Repo
alias Phoenix.Controller.Flash
alias PhoenixJobs.Queries
alias PhoenixJobs.Router.Helpers
plug :action
def index(conn, _params) do
jobs = Queries.jobs_query
render conn, "index", jobs: jobs
end
def new(conn, _params) do
conn
|> render("new")
end
def show(conn, params) do
job = Queries.find_job(params["id"])
conn
|> render("job",job: job, action: params["action"])
end
def create(conn, params) do
job = %PhoenixJobs.Jobs{title: params["title"], description: params["description"], job_type: params["type"], job_status: params["status"]}
Repo.insert(job)
conn
|> Flash.put(:notice, "create ok!")
|> redirect Helpers.job_path(:index)
end
def edit(conn, params) do
job = Queries.find_job(params["id"])
conn
|> render "edit", job: job
end
def update(conn, params) do
job = Queries.find_job(params["id"])
job = %{job | title: params["title"], description: params["description"],
job_type: params["type"], job_status: params["status"]}
PhoenixJobs.Repo.update(job)
conn
|> Flash.put(:notice, "update ok!")
|> redirect "/"
end
def destroy(conn, params) do
job = PhoenixJobs.Queries.find_job(params["id"])
PhoenixJobs.Repo.delete(job)
redirect conn, Helpers.job_path(:index)
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment