사용자가 ActiveRecord 항목을 수정할 링크를 클릭하길 원합니다. 해당 레코드의 이름은 feed.disabled
이며 링크는 해당 레코드를 true
과 false
사이에서 토글합니다. 링크의 텍스트를 결정하는 도우미 메소드를 만들었습니다.사용자가 ActiveRecord를 수정할 수 있도록 Rails 앱에 버튼을 만드는 방법은 무엇입니까?
def disable_button(feed)
if feed.disabled?
return 'Enable Feed'
else
return 'Disable Feed'
end
end
제 질문은 실제로 두 가지입니다. 해당 도우미가 뷰에 올바른 텍스트를 표시 할 수 있습니까? feed.disabled
레코드를 현재 상태에 따라 true
또는 false
으로 수정하는 링크를 얻으려면 어떻게해야합니까?
feeds_controller.rb
:
def toggle_disabled_record
@feed = Project.find(params[:project_id]).feeds.find(params[:id])
@feed.toggle!(:disabled)
render :nothing => true
end
projects->show.html.erb
:
<%= link_to toggle_disable_button(feed), toggle_disabled_record_project_feed_path(feed) %>
routes.rb
:
resources :projects do
resources :feeds
end
resources :feeds do
resources :xml_fields
get toggle_disabled_record, :on => :member
end
귀하의 게시물을 거의 그대로 따라 왔지만 라우팅 방법이 정의되지 않은 오류가 계속 발생합니다. 나는 라우팅이 어떻게 작동하는지 결코 이해하지 못했다.하지만 나의 레코드 정렬 방식은 Project has_many Feeds이다. 위에 추가 한 방법을 붙여 넣었습니다. – Paul
왜 '토글'을 사용하지 않습니까? 귀하의 경로가 무엇인지, 또는 어떤 링크를 사용하려고하는지 모르겠으므로 도움이되지 않습니다. –
죄송합니다. 업데이트 된 방법을 게시하는 속도가 느려졌습니다. 지금 확인하십시오. – Paul