1

所以我有以下链接,它将参数 experience_id 传递给 experience_skills 控制器的新操作。

<%= button_to 'Add Skill', new_experience_skill_path(:experience_id => experience.id),:remote => "true", :class => "btn", :id => "new-experience-skill-btn" %>

这很好——即 params[:experience_id] 是正确的值!

问题是我需要在 experience_skills 控制器的创建操作中访问 params[:experience_id] 以使某些 javascript 和 ajax 正常运行。

如何在创建操作中访问传递给新操作的参数???

提前谢谢你的帮助。当然,如果你给我正确的答案,我会接受。-亚历克斯

4

2 回答 2

1

您尝试在哪个地方访问 params[:experience_id] ?在新的行动或创造行动?

在您的表格中,您可以这样做,例如:

   <div class="field">    
       <%= f.hidden_field :experience_id, :value => @instant_obj.id %>
   </div>

然后,在您的控制器中执行新操作

 @instant_obj = CLASS.find(params[:experience_id])

不确定它可以帮助你..

修改:如果没记错的话,只会在New,从我的场景来说,在Message的新控制器中,它需要advertising_id,它是隐藏字段,为了创建Message,它还需要advertising_id,所以,我会做的

@advertisement = Advertisement.find(params[:advertisement_id])
@message = Message.new(:advertisement_id => @advertisement.id)

然后当我保存我的消息模型(在创建动作控制器中)时,它将保存所有细节。

于 2013-01-23T04:12:33.357 回答
0

如果您在 new 中使用表单,则可以从隐藏字段发送此值。

于 2013-01-23T04:04:24.607 回答