2017-01-30 42 views
0

我f.select不工作 这方面的工作是我的形式 -f.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' 

,这是我的控制器类..

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]') 
    @anonymous.each do |a| 
    @debug = a 
if params[:postid] == 'Anonymous' 
    @confession = a.confessions.build 
else 
    @confession = current_amitian.confessions.build 
end 
end 
end 

我的if语句从来没有......为什么? 从上面清楚f.select语句此=

f.select(:帖子ID,options_for_select( '提供yourname', '无名氏')

所以每当用户选择匿名的if语句应该返回true

+0

为什么你检查'PARAMS [:帖子ID]'在指数的行动应该是在某个地方创建操作 – MikDiet

+0

感谢名单了很多。我把在创建。方法和现在其工作:) 你可以发表这个问题作为答案我会r吃了你.. thanx –

+0

好吧@Alaap,见下文。 – MikDiet

回答

0

你需要检查params[:postid]在创建行动,而不是在指数