0

나는이 양식을 사용하여 사용자가 게시 방법을 선택하도록합니다. 그들의 이름 또는 익명으로.레일에서 Form.select 값에 액세스하는 방법

그래서이는 내 형태 :

- @anonymous.each do |a| 
=form_for @confession , html: {multipart: true} do |f| 
    =f.label :Confess 
    =f.text_area :confession , require: true 
    =f.label :post_as 
    =f.select(:postid,options_for_select([[@confession.amitian.fullname,@confession.amitian.fullname],[a.fullname,a.fullname]])) 
    =f.file_field :confessionimage 
    =f.submit 'Confess' 

지금 내가 얼마나 혼란 익명 또는 CURRENT_USER m에 게시물을 구축해야 그것에 대해 을 게시 이름 또는 익명을 선택하는 옵션이있는 사용자가 컨트롤러이에 그렇게하면 전체 접근 방식은 장비가 있다면 나는 확실하지 않다 미리

+0

로그에서 오는 매개 변수를 표시 할 수 있습니까? – Anthony

+0

[: postid]가 반환하는 매개 변수는 무엇입니까? –

+0

전체 매개 변수는 양식을 제출할 때 로그에 있습니다. – Anthony

답변

1

지금까지

def index 
    @amitian = Amitian.where(institute: current_amitian.institute) if  amitian_signed_in? 
    @confessions = Confession.where(amitian_id: @amitian.ids).order('created_at DESC') if amitian_signed_in? 
    @anonymous = Amitian.where(email: '[email protected]') 
    if #params[:postid] == 'Anonymous' # i need an if statement to check what user has selected .. can anyone help plz ? 
    @confession = @anonymous.confessions.build 
    else 
    @confession = current_amitian.confessions.build 
    end 
end 

고맙습니다 한 일이다 ht. 부울 필드를 포스트 (Confess ?!) 모델에 추가합니다. 마찬가지로 :

rails g migration AddAnoncheckToConfess anonym:boolean

은보기에 그 체크 박스를 넣고 컨트롤러에 허용 PARAMS에 추가합니다. 사용자가 true로 익명을 설정 한 경우

그런 다음 당신은 당신의 색인/쇼보기에서 확인할 수 있습니다 :

<% if @confession.anonym == true %> 
Posted as anonymous 
<% else %> 
<%= @confession.email %> 
<% end %> 

건배!