사용자가 관심이있는 항목에 "태그를 지정할 수있는"태그 기능을 만들려고합니다. 여기 내 모델 해당 DB 테이블이 필요 :user_id
및 :item_id
필드가Rails 3 - link_to에서 새 레코드를 만드는 방법
class tag
belongs_to :user
belongs_to :item
end
입니다.
:items
목록에서 사용자가 :item
을 태그 할 수 있도록 각 :item
옆에 링크가 필요합니다. :user_id
과 :item_id
을 알고 있기 때문에 새로운 :tag
레코드를 만들고 ID 필드를 설정하고 레코드를 저장하려고합니다. 사용자 개입없이 모두이 레코드를 저장하려고합니다. 나는 link_to
에 다음 전화를 시도하지만 기록은 데이터베이스에 저장되지 않습니다 :
<%= link_to 'Tag it!', {:controller => "tracks",
:method => :post,
:action => "create"},
:user_id => current_user.id,
:item_id => item.id %>
(이 코드는 내 :. @item.each do |item|
문, 그래서 item.id가 유효)
이 link_to
호출이 생성 이 URL :
http://localhost:3000/tags?method=post&tag_id=7&user_id=1
데이터베이스에 Tag
레코드가 생성되지 않습니다. 여기에 내가 새 태그 레코드를 생성하고 저장하는 LINK_TO을 얻을 수있는 방법 tags_controller
def create
@tag = Tag.new
@tag.user_id = params[:user_id]
@tag.tag_id = params[:tag_id]
@tag.save
end
내 :create
조치는 무엇입니까?
감사합니다. 그것은 당신의 수정으로 잘 작동합니다. 답변에 link_to 서명을 표시하면 실제로 무슨 일이 벌어지고 있는지 이해할 수있었습니다. 매우 감사. –
그냥 빠른 코멘트. url_options 해시에서 컨트롤러 키의 값은 "항목"이 아닌 "항목"이어야합니다. 링크를 표시하려고 할 때 ActionController 라우팅 오류가 발생합니다. – icantbecool
@dexter 링크가 이메일과 같이 앱 외부에 있다면 어떻게됩니까? 내 유스 케이스는 답장을위한 것입니다. 전자 메일 링크에서 직접 새 RSVP를 만들고 싶지만 RESTful 상태를 유지하고 싶습니다. – Mohamad