views
<% form_tag :action => "액션명A" do %>
<input name="params key가 될 이름">
<button type="submit"></button>
<% end %>
controllers
def 액션명A
변수명B = 테이블명.new
변수명B.테이블명에 있는 속성 = params[:params key로 지정한 이름]
변수명B.save
end
views/login/join.rhtml
<% form_tag :action => :auth_join do %> <input name="username"> <input name="passwd"> <button type="submit">회원가입</button> <% end %>controllers/login_controller.rb
def auth_join user = User.new user.user_name = params[:username] user.passwd = params[:passwd] user.save # redirect_to :controller => :article, :action => :index end
함수명B = []
함수명B[0] = "조건식"
함수명B << 조건식의 ?에 들어갈 값
변수명A = 테이블명.find :first, :conditions => 함수명B
def current_article if @_current_article == nil conditions = [] conditions[0] = "id = ?" conditions << params[:id]
@_current_article = Article.find :first, :conditions => conditions
end
return @_current_article
end
end
params는 get 또는 post 메소드로 받은 값이다.
## 값 뿌리기
>
** controllers/article_controller.rb **
```rb
def edit
@article = current_article
render :action => "edit"
end
받아온 해당 값을 "링크"에서 사용하고 싶을 경우 render :action => "링크"를 달아주어야한다.
views/article/edit.rhtml
<input name="subject" value="<%= @article.title %>">
views/article/edit.rhtml
<button type="button" onclick="location.href='<%= url_for :action => :edit, :id => @article.id %>'"> 수정 </button>controllers/article_controller.rb
def update current_article.title = params[:subject] current_article.contents = params[:contents] # current_article.save # @article= current_article render :action => "show" end
views/article/edit.rhtml
<button type="button" onclick="location.href='<%= url_for :action => :remove, :id => @article.id %>'"> 삭제 </button>controllers/article_controller.rb
def remove current_article.destroy @articles = current_user.articles # render :action => "index" end
models/article.rb
class Article < ActiveRecord::Base has_many :comments, :dependent => :destroy
Article이 삭제되면 해당 Article_id와 동일한 Article_id를 가진 comments 전체를 삭제한다.