я мог бы реально использовать некоторую помощь с наилучшим образом выполнить следующие действия: у меня ниже моего контроллера (и я знаю, что это не должно быть здесь и необходимо перейти к модели)Если помощь в другом случае или случае!
Это электронная почта система обмена сообщениями, поэтому в зависимости от того, какую позицию вы занимаете, вы можете отправлять электронную почту, чтобы установить группы людей. Поэтому, если вы являетесь командующим батальонами и т. Д., Вы можете выбрать сообщение в одну из 5 групп, определенных ниже. Если вы являетесь командующим компанией, ваши группы меняются. В представлении есть раскрывающееся меню, и вы выбираете группу, в которую отправляется ваше сообщение. Меню выбора заполняется в зависимости от позиции подписчика.
Проблема заключается в том, что часть «elsif» не заполняет сообщение правильно. Он показывает правый выпадающий список и действует так, как будто письмо отправляется, но электронные письма не заполняются. Однако первое значение (командующий батальонами) отлично работает.
Есть ли у меня что-то неправильно написанное в инструкции if else? Похоже, это должно быть довольно просто. Позиция пользователя всегда правильно отражает, так что это не так.
if (@position == "Battalion Commander" or "Command Sergeant Major" or "FRSA" or "Battalion FRG Leader")
@bnok = (@user.battalion.primaries).collect(&:email).select{|s| !s.blank?}.join(", ")
@bspouses = (@user.battalion.primaries(:conditions => ["relationship = 'spouse'"])).collect(&:email).select{|s| !s.blank?}.join(", ")
@bsoldiers= (@user.battalion.soldiers).collect(&:email).select{|s| !s.blank?}.join(", ")
@bsoldierspouse=((@user.battalion.soldiers)+(@user.battalion.primaries(:conditions => ["relationship = 'spouse'"]))).collect(&:email).select{|s| !s.blank?}.join(", ")
@ballcontacts=((@user.battalion.soldiers)+(@user.battalion.primaries)+(@user.battalion.additionals)).collect(&:email).select{|s| !s.blank?}.join(", ")
elsif
@position == ("Company Commander" or "First Sergeant" or "FRG Leader")
@nok = (@user.company.primaries).collect(&:email).select{|s| !s.blank?}.join(", ")
@spouses = (@user.company.primaries(:conditions => ["relationship = 'spouse'"])).collect(&:email).select{|s| !s.blank?}.join(", ")
@soldiers= (@user.company.soldiers).collect(&:email).select{|s| !s.blank?}.join(", ")
@soldierspouse=((@user.company.soldiers)+(@user.company.primaries(:conditions => ["relationship = 'spouse'"]))).collect(&:email).select{|s| !s.blank?}.join(", ")
@allcontacts=((@user.company.soldiers)+(@user.company.primaries)+(@user.company.additionals)).collect(&:email).select{|s| !s.blank?}.join(", ")
end
Так что это не сработает, оно работает для одного набора позиций или другого, но не для обоих. Это коррелирует с выбранным меню в представлении и в зависимости от того, какая позиция, по которой вы выполняете запрос для определенных групп людей, изменяется.
Таким образом, в представлении у меня есть это:
<% if @position == "Battalion Commander" %>
<%= f.select(:bcc_email, [["Please Select", ""], ["Battalion NOK", @bnok], ["Battalion Spouses", @bspouses], ["Battalion Soldiers Only", @bsoldiers], ["Battalion Soldiers & Spouses", @bsoldierspouse], ["All Battalion Contacts", @ballcontacts]]) %></h1><br />
Я все еще учусь рельсы, и я не уверен, что если дело утверждение было бы лучше, но тогда я запутался, где это идет, и как это саз вписывается в представление.
Любое руководство было бы замечательным, я пытаюсь обмануть его и понять, но я бы очень признателен за помощь.
San Jancinto вы правы, извините обидеть, исправите мои прошлые вопросы, чтобы отразить. – 2009-10-22 23:54:55
Также предлагаю вам принять еще несколько ответов или даже хотя бы проголосовать за них - поместите что-то в сообщество, о котором вы получаете информацию, - вы задали 9 вопросов, но НИКОГДА не голосовали за какой-либо ответ :( –